2015-09-07 2 views
1

Я использую App Engine Search, чтобы ограничить результаты результатами в пределах определенного круга.Точность поискового сервера Geo Поиск больших кругов?

distance("points", geopoint(%f,%f)) < %d" % (latitude, longitude, radii) 

Для радиусов 10, 100 и 1000 м. Метров. Я получаю правильные результаты. Но для радиусов 400 000 (т. Е. 400 км), то результаты за пределами круга определения возвращаются.

Кто-нибудь знает, что это предел этой платформы? Мне трудно поверить, что большой круг не учитывается.

ответ

1

У Google есть a bug; сообщил в феврале 2013 года и по-прежнему присутствует сегодня. Отслеживание проблем отмечает его приоритет как средний.

Одно из предложений заключается в том, чтобы посмотреть на каждый возвращенный результат и проверить, является ли он правильным.

Похоже, что если вы добавите этот корректирующий шаг на платформу Google, вы платите дважды за эту функцию - один раз для выполнения кода Google для создания неверного набора результатов и один раз для кода исправления.

Это нетривиальная обработка, так как любое количество итоговых результатов может быть совершенно неверным (например, Google возвращает 100 с результатами, но фактическое число равно нулю).

И если у вас есть страница результатов по соображениям производительности, то эта ошибка убивает этот подход, поскольку каждый набор страниц не может содержать никаких действительных результатов после того, как вы отфильтровали недопустимые.

Это ответ, или я, и другие, пропустил некоторые важные детали?

Смежные вопросы