当前位置:  开发笔记 > 编程语言 > 正文

Appengine Search API与数据存储区

如何解决《AppengineSearchAPI与数据存储区》经验,为你挑选了2个好方法。

我正在尝试决定是否应该将App-engine Search API或Datastore用于App-engine Connected Android Project.谷歌文档的唯一区别是

...索引搜索可以找到不超过10,000个匹配的文档.App Engine数据存储可能更适合需要检索非常大的结果集的应用程序.

鉴于我已经非常熟悉数据存储区:假设我不需要10,000个结果,有人会帮助我吗?

是否有任何优势,利用Search API与使用数据存储为我的查询(根据上面的报价,这似乎是合理使用一个其他)?在我的情况下,最终用户必须能够搜索,更新现有条目并创建新实体.例如,如果我的应用是书店,则用户必须能够添加新书,向现有书籍添加评论,搜索特定书籍.

我的数据结构使得内容将由最终用户提供.文档与数据存储实体:哪个更新更便宜?$$等

它们可以相互补充:数据存储区和搜索API吗?有什么好处?为什么有人会考虑将两者配对?捕获/成本是多少?

adevine.. 17

其他一些信息:

    数据存储区是一个事务系统,在许多用例中很重要.搜索API不是.例如,您不能在单个事务中的搜索索引中放置和删除文档.

    数据存储区与像Cassandra这样的NoSql DB有很多共同点,而搜索API实际上是一个文本搜索引擎,与Lucene非常类似.如果您了解反向索引的工作原理,您将更好地了解搜索API的工作原理.

    将数据存储区API和搜索API的使用结合起来的一个很好的理由是,数据存储区很难进行搜索API非常容易处理的某些类型的查询(例如,自由文本查询,地理空间查询).因此,您可以将主实体存储在数据存储区中,但如果需要以数据存储区不允许的方式进行搜索,则可以使用搜索API.接下来,我认为如果数据存储区和搜索API集成得更紧密,例如让你对索引的文本字段进行自由文本搜索会很好,其中app引擎会在幕后为你自动创建一个搜索文档索引.


Andrei Volgi.. 7

关键的区别在于,使用数据存储区,您无法在实体内部进行搜索.如果您有一本名为"战争与和平"的书,如果用户在搜索框中输入"战争和平",则无法找到它.与评论等相同.因此,它不是一个真正的选择.



1> adevine..:

其他一些信息:

    数据存储区是一个事务系统,在许多用例中很重要.搜索API不是.例如,您不能在单个事务中的搜索索引中放置和删除文档.

    数据存储区与像Cassandra这样的NoSql DB有很多共同点,而搜索API实际上是一个文本搜索引擎,与Lucene非常类似.如果您了解反向索引的工作原理,您将更好地了解搜索API的工作原理.

    将数据存储区API和搜索API的使用结合起来的一个很好的理由是,数据存储区很难进行搜索API非常容易处理的某些类型的查询(例如,自由文本查询,地理空间查询).因此,您可以将主实体存储在数据存储区中,但如果需要以数据存储区不允许的方式进行搜索,则可以使用搜索API.接下来,我认为如果数据存储区和搜索API集成得更紧密,例如让你对索引的文本字段进行自由文本搜索会很好,其中app引擎会在幕后为你自动创建一个搜索文档索引.



2> Andrei Volgi..:

关键的区别在于,使用数据存储区,您无法在实体内部进行搜索.如果您有一本名为"战争与和平"的书,如果用户在搜索框中输入"战争和平",则无法找到它.与评论等相同.因此,它不是一个真正的选择.


更确切地说,在数据存储区中,您无法通过"包含"进行搜索,因此您可以在此处搜索示例,并使用两个单词进行搜索.数据存储区还有其他限制,例如只允许最多两个不等式.
您仍然需要数据存储区.这是您存储数据的位置,例如图书ID/ISBN,作者,价格,类别等.您可以使用Search API存储图书标题和评论,但您需要将这些记录链接到数据存储区中的实体.
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有