【发布时间】:2011-12-31 06:39:18
【问题描述】:
有谁知道如何根据搜索位置的距离来排序 Facebook 位置?请注意,我不想在我的客户端应用程序中订购结果。我希望 Facebook 服务器为我提供有序的结果以方便分页。我总是想将后续查询中的位置附加到数组的末尾。
这似乎不可能使用图形 API 查询,例如:
https://graph.facebook.com/search?q=coffee&type=place¢er=37.76,-122.427&distance=1000&.... 因为没有办法告诉 Facebook 对结果进行排序。最近的地方可能是返回结果列表中的最后一个。
我一直在尝试使用FQL 复制上述查询,但问题在于 Facebook 位置表中的名称和描述字段不可索引。 FQL 如:
SELECT
page_id, name, display_subtext, description,
distance(latitude, longitude, "37.76", "-122.427"), checkin_count
FROM place
WHERE ((distance(latitude, longitude, "37.76", "-122.427") < 25000)
AND (strpos(lower(name), "coffee") >= 0
OR strpos(lower(description), "coffee") >= 0))
ORDER BY distance(latitude, longitude, "37.76", "-122.427") ASC
LIMIT 20 OFFSET 0
问题在于字段name 和description 在位置表中不可索引。这意味着并非所有结果都由 FQL 返回,有很多缺失的结果。
【问题讨论】:
标签: facebook location facebook-fql