Google app engine 位置查询的应用程序引擎全文搜索与地理哈希

Google app engine 位置查询的应用程序引擎全文搜索与地理哈希,google-app-engine,geohashing,Google App Engine,Geohashing,我正在考虑将一个应用程序从RoR移植到Python应用程序引擎,该应用程序在很大程度上以地理搜索为中心。我一直在使用一个开源的geomedel(即geohashing)库来允许应用程序处理查询,这些查询可以回答诸如“这一点附近有什么餐馆(lat/lng对)”之类的问题 GeoModel使用了一个ListProperty,它创建了一个沉重的索引,这让我担心定价问题,因为我有大约1000万个实体需要加载到生产中 我今天早上发现的这篇文章在成本方面似乎相当可怕: 所以我的问题是——既然谷歌已经发布了

我正在考虑将一个应用程序从RoR移植到Python应用程序引擎,该应用程序在很大程度上以地理搜索为中心。我一直在使用一个开源的geomedel(即geohashing)库来允许应用程序处理查询,这些查询可以回答诸如“这一点附近有什么餐馆(lat/lng对)”之类的问题 GeoModel使用了一个ListProperty,它创建了一个沉重的索引,这让我担心定价问题,因为我有大约1000万个实体需要加载到生产中

我今天早上发现的这篇文章在成本方面似乎相当可怕:

所以我的问题是——既然谷歌已经发布了支持地理搜索的全文搜索,那么地理哈希是一个没有实际意义的概念吗?现在还不清楚这个新API的幕后运作情况,我担心索引的大小可能和我使用的geomedel方法一样大

搜索API的另一个问题是,似乎我不仅要在数据存储中创建模型,还要将其中的一些数据(GeoPtProperty和它所表示的模型的entity_键)复制到文档中,这大大增加了我的数据集


有什么想法吗?目前,我正在考虑取消这个端口,因为它太贵了,尽管到目前为止我真的很喜欢在应用程序引擎环境中工作,并且希望在我的一些应用程序中远离EC2

你在这里问了很多问题:

  • geohashing是一个没有实际意义的概念吗:可能不是,我怀疑搜索API使用geohashing,或者类似的东西来进行位置搜索

  • 你能使用搜索API而不是自己实现它吗:是的,但我不知道这样或那样的代价

  • geohashing在app engine上是否昂贵:在消息线程中,由于高索引写入成本,成本很低。您必须对地理哈希数据进行工程设计,以最小化索引。如果geomedel在列表中放置了大量索引值,您可能会遇到麻烦-如果不知道索引是如何工作的,我不会直接使用它。我的猜测是,如果降低定位精度,可以减少索引项的数量,这可以节省大量成本

  • 正如线程中提到的,您可以在CloudSQL中运行geohashing