首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >App Engine全文搜索与地理散列位置查询

App Engine全文搜索与地理散列位置查询
EN

Stack Overflow用户
提问于 2012-07-16 21:29:30
回答 1查看 451关注 0票数 0

我正在考虑将一个应用程序从RoR移植到Python App Engine,它主要是以地理搜索为中心的。我一直在使用一个开源的GeoModel (即geohashing)库来允许应用程序处理查询,这些查询可以回答诸如“这附近有什么餐馆(lat/lng配对)”之类的问题。

GeoModel使用了一个ListProperty,它创建了一个沉重的索引,这让我担心定价,因为我有大约1000万个实体需要加载到生产中。

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

https://groups.google.com/forum/?fromgroups#!topic/google-appengine/-FqljlTruK4

所以我的问题是,既然谷歌已经发布了支持地理搜索的全文搜索,那么地理散列是一个没有意义的概念吗?不过,目前还不清楚这个新的API在幕后发生了什么,我担心它的索引大小可能和我使用GeoModel方法一样大。

search API的另一个问题是,我似乎不仅需要在数据存储中创建模型,还需要将其中的一些数据(至少是它所表示的模型的GeoPtProperty和entity_key )复制到文档中,这会极大地增加我的数据集。

对此有什么想法吗?目前,我正在考虑刮掉这个端口,因为它太贵了,尽管到目前为止,我真的很喜欢在App Engine环境中工作,并且希望在我的一些应用程序中摆脱EC2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-17 00:28:16

你在这里问了很多问题:

  • 是一个有争议的概念:可能不是,我怀疑搜索应用编程接口使用地理散列,或者类似的位置搜索。
  • 你可以使用搜索应用编程接口还是自己实现它:可以,但我不知道这样或那样的成本。
  • 在应用程序引擎上的地理哈希成本很高:在消息线程中,由于高索引写入成本,成本很低。你必须设计你的地理散列数据来最小化索引。如果GeoModel在列表中放置了很多索引值,您可能会遇到麻烦-如果不知道索引是如何工作的,我就不会直接使用它。我的猜测是,如果降低位置精度,就可以减少索引条目的数量,这可以节省大量成本。
  • 正如线程中提到的,您可以在CloudSQL中运行地理散列。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11505415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档