我已经建立了下面的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(“餐厅”))
谢谢!
你所寻找的是包含在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查询过滤器类别。
我建议你要求所有的地方周围使用您的实际要求,并通过检查,使自己的过滤:
- 其中一个类别是否包含与餐馆关键词:
restaurant
, bar
, steakhouse
等, - 或
type
的地方是RESTAURANT/CAFE
。