我一直在努力寻找 Google App Engine 上通过 GPS 坐标搜索模型的最佳选项。似乎有一些不错的选择,例如 GeoModel(已过时),但新的搜索 API 似乎是最新的并且提供了很多功能。这当然是因为一旦离开试验区,在进行 1000 次搜索后它可能会变得昂贵。
我在浏览文档和创建连贯的完整示例以便能够使用搜索 API 按位置搜索时遇到困难,我想知道是否有人愿意分享或创建示例来帮助完成此过程更直接一点。我了解如何创建实际的地理搜索查询,但不清楚如何将其与文档的构建和索引结合在一起。
请您参考如下方法:
我不知道有任何具体显示地理位置的示例,但过程非常相似。您可以索引包含 GeoField 的文档s,每个都有一个 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 之外,它们的工作方式与任何其他字段非常相似。在查询和表达式语言中发挥作用。如果您有任何具体问题,请随时在此处提问。
