Google App Engine Search API выполняет поиск на основе местоположения
Я пытался найти лучший вариант в Google App Engine для поиска модели по GPS-координатам. Кажется, есть несколько приличных опций, таких как GeoModel (который устарел), но новый API поиска, кажется, является наиболее актуальным и дает хорошую функциональность. Это, конечно, связано с возможностью того, что он станет дорогим после 1000 поисков, когда он покинет экспериментальную зону.
У меня возникают проблемы при просмотре документов и создании целостного полного примера, чтобы можно было использовать API поиска для поиска по местоположению, и я хочу знать, есть ли у кого-нибудь примеры, которыми он хочет поделиться или создать, чтобы сделать этот процесс немного более сложным простой. Я понимаю, как создать фактический запрос геозапроса, но мне неясно, как склеить его вместе со структурой и индексацией документа.
1 ответ
Я не знаю каких-либо примеров, которые конкретно показывают гео, но процесс очень похож. Вы можете индексировать документы, содержащие GeoField
с, каждый из которых имеет latitude
и longitude
, Затем, когда вы создаете свой запрос, вы можете:
- ограничить результаты на расстоянии от фиксированной точки с помощью запроса, как
distance(my_geo_field, geopoint(41, 65)) < 100
- сортировка по расстоянию от точки с выражением сортировки, как
distance(my_geo_field, geopoint(55, -20))
- вычислить выражения на основе расстояния между точками, используя
FieldExpression
лайкdistance(my_geo_field, geopoint(10, -30))
Они работают так же, как и в любой другой области, за исключением того, что вы можете использовать distance
функция в языках запросов и выражений. Если у вас есть какие-либо конкретные вопросы, не стесняйтесь спрашивать здесь.