Упорядочить результаты поиска в Facebook по расстоянию

Кто-нибудь знает, как упорядочить места в 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

Проблема в том, что поля имя и описание не индексируются в таблице мест. Это означает, что не все результаты возвращаются FQL, многие результаты отсутствуют.

14
задан BSMP 13 April 2018 в 21:08
поделиться