空间搜索物体化,appengine

时间:2015-06-19 09:14:28

标签: google-app-engine google-cloud-endpoints google-cloud-datastore objectify gae-search

我想使用,客观化空间搜索。我有与它们相关的经度和纬度的实体。纬度和经度信息是动态的,例如服务提供商(如电工,木匠)在一个城市。我想实现一个查询,让我的服务提供商提供1公里范围内的一些特定服务。在Google上搜索会显示以下选项

  1. 将Objectify用于地理位置 - 不确定,此解决方案的准确性和可扩展性
  2. 使用Google搜索 - 它需要以文档形式复制的实体(或部分实体),并且能够支持动态更新的位置。
  3. 使用其他数据库,例如mongodb
  4. 假设有数百万实体和纬度/经度动态更新,请为我建议一个合适的选项。

    感谢 Ittium

2 个答案:

答案 0 :(得分:1)

我使用过geohashes。虽然您最终选择的数据多于您要查找的精确边界,然后过滤掉额外的边界,但它仍然有效。根据您的具体应用,这可能是也可能不是一个好的解决方案。它需要编写更多代码,但移动部件更少(全部在数据存储区中)。

Google搜索和"其他数据库"基本上是相同的架构模式 - 使用任务队列将更新复制到外部索引。如果您想要快速解决方案,搜索服务可能是最容易解决的问题。

选择一个解决方案,然后运行一段时间。您始终可以将数据重新索引到不同的解决方案中。

答案 1 :(得分:1)

这实际上取决于您的查询率,但我通常更喜欢使用谷歌搜索。构建和维护文档非常简单,您可以获得不同的配额来处理此查询。