Google应用引擎:预期搜索对于实际应用的效果如何?

时间:2011-08-01 08:34:42

标签: google-app-engine search full-text-search

Google应用引擎的实验性功能已经Prospective search,至少对于python而言。这种预期搜索与目前可用的全文引擎替代方案有何不同?对于真实世界的网络应用来说,产品搜索的效率如何。

目前的全文替代品是,

  1. Bill Katz的solution
  2. 基于Django的solution
  3. gae-text-search,另一个基于python的solution

2 个答案:

答案 0 :(得分:10)

@Gagandeep Singh:'tail -f |的比喻grep'是一个合理的,但重要的是要记住AppEngine的Prospective Search系统支持多个字段和多种类型(整数,浮点数和文本),因此使用grep复制有点困难。

@Chris Farmiloe:预期搜索通知API比任何其他搜索API都是Notification API。当然,您可以使用预期搜索实现通知系统,但“通知”通常是由于发现匹配而生成的,而不是匹配本身的结果。 “通知”系统会执行诸如发送IM消息,SMS,XMPP消息或类似的事情。预期搜索没有做任何 - 但它很容易添加。

@Nick Johhson:是的,我将其命名为“预期搜索”的原因是因为预期查询与之后到达的文档匹配形成查询。因此,前瞻性查询具有前瞻性或“前瞻性”。这与传统的“回顾性”搜索系统(典型的网络搜索引擎或数据库系统)相反,在这种搜索系统中,查询匹配到达的文档,并在形成查询之前编入索引。回顾性搜索系统索引稍后与查询匹配的文档,记录或属性包。预期搜索系统索引稍后与文档或属性包匹配的查询。这两种搜索模式是基本的,彼此的反转和互补。几乎在任何地方,您都有传统的回顾性搜索应用程序,您将找到一个预期搜索的应用程序。

@Drew Sears:请注意,AppEngine的预期搜索系统与任何追溯系统一样,都是一个“全文”搜索系统。预期搜索匹配单词,短语和数字的布尔组合 - 就像您在传统上称为“全文”系统时所期望的那样。不同之处不在于是否正在搜索全文,而是该搜索是预期的还是回顾性的。

答案 1 :(得分:9)

预期搜索基本上相当于tail -f | grep的App Engine。用户不是针对静态文档集运行一次查询,而是订阅一组查询,并将新创建的文档与打开的查询进行匹配。如果匹配发生,则任务排队,并且在任务内部您可以使用Channel API使用新的查询结果更新用户的浏览器。

预期搜索与全文搜索无关。 App Engine中有一个全文API,在Google I / O演讲中讨论过:

http://www.google.com/events/io/2011/sessions/full-text-search.html