通过category_list FQL查询(FQL query through category_l

2019-08-18 08:32发布

我已经建立了下面的FQL查询,但我现在面临的问题,以添加过滤器。

SELECT
 about,
 attire,
 categories,
 checkins,
 company_overview,
 culinary_team,
 description,
 fan_count,
 food_styles,
 founded,
 general_info,
 general_manager,
 hours,
 keywords,
 location,
 mission,
 name,
 page_id,
 page_url,
 parent_page,
 parking,
 payment_options,
 phone,
 price_range,
 products,
 public_transit,
 restaurant_services,
 restaurant_specialties,
 talking_about_count,
 TYPE,
 username,
 website,
 were_here_count,
 pic
FROM page
WHERE page_id IN
  (SELECT
     page_id,
     latitude,
     longitude
   FROM place
   WHERE distance(latitude, longitude, '-30.03852', '-51.17877') < 50000
   LIMIT 10)

问题是,我只是想与餐厅的页面。 我想我可以通过“类别”在页表筛选,但我不知道至极的方法来使用。

我怎样才能做到这一点? 哪里是关于我可以使用可用的方法的文档(像categories.contains(“餐厅”))

谢谢!

Answer 1:

你所寻找的是包含在type字段中。 你写TYPE那是错误的。

类型 (字符串):类型页的。 例如,产品/服务,电脑/技术

你需要做的:

SELECT page_id, type, categories
FROM page
WHERE page_id IN
  (SELECT
     page_id,
     latitude,
     longitude
   FROM place
   WHERE distance(latitude, longitude, '-30.03852', '-51.17877') < 50000
   LIMIT 100)
AND type="RESTAURANT/CAFE"

......只给你的餐馆:

"data": [
{
  "page_id": 202457279801080, 
  "type": "RESTAURANT/CAFE", 
  "categories": [
    {
      "id": 185459711490789, 
      "name": "Brazilian Restaurant"
    }, 
    {
      "id": 168976549819329, 
      "name": "French Restaurant"
    }, 
    {
      "id": 163300367054197, 
      "name": "Seafood Restaurant"
    }
  ]
}, 

问题是,在许多情况下, type字段不是由网页拥有者设置......所以你会通过哪些餐馆项通过:

"data": [
{
  "page_id": 216824565018619, 
  "type": "LOCAL BUSINESS", 
  "categories": [
    {
      "id": 134501539950711, 
      "name": "Sushi Restaurant"
    }
  ]
}

我甚至不知道这些类别的来源以及如何设置。 在我看来,之前使用该领域,现在已经过时。 Facebook的保留字段,以便每个页面继续显示此信息。

根据这篇文章 ,您无法通过FQL查询过滤器类别。

我建议你要求所有的地方周围使用您的实际要求,并通过检查,使自己的过滤:

  • 其中一个类别是否包含与餐馆关键词: restaurantbarsteakhouse等,
  • type的地方是RESTAURANT/CAFE


文章来源: FQL query through category_list