Google App Engine搜索API执行基于位置的搜索

问题描述 投票:2回答:1

我一直在尝试在Google App Engine上找到最佳选项,以通过GPS坐标搜索模型。 似乎有一些不错的选择,例如GeoModel(已过时),但是新的Search API似乎是最新的,并且提供了很多功能。 这当然是因为一旦离开实验区,经过1000次搜索,它就会变得昂贵。

我在遍历文档和创建一个连贯的完整示例以使用Search API来按位置进行搜索时遇到了麻烦,我想知道是否有人愿意共享或创建示例以帮助使此过程更多一些直截了当。 我了解如何创建实际的地理搜索查询,但不清楚如何将其与文档的构造和索引结合在一起。

python google-app-engine geolocation geocoding gae-search
1个回答
1
投票

我不知道有任何具体显示geo的示例,但是过程几乎相同。 您可以索引包含GeoField的文档,每个文档都有一个latitudelongitude 。 然后,在构造查询时,您可以:

  • 通过使用distance(my_geo_field, geopoint(41, 65)) < 100类的查询来限制与固定点的距离的结果
  • 使用distance(my_geo_field, geopoint(55, -20))等排序表达式按距点的距离进行排序
  • 通过使用FieldExpression例如distance(my_geo_field, geopoint(10, -30))根据点之间的距离计算表达式

它们的工作原理几乎与任何其他字段一样,除了可以在查询和表达式语言中使用distance函数。 如果您有任何具体问题,请随时在这里提问。

© www.soinside.com 2019 - 2024. All rights reserved.