如何在Google App Engine中执行全文搜索?

时间:2009-08-19 01:28:07

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

这是一个简单的问题,但我没有在任何地方找到答案。思想和投入赞赏。

我也在使用Django,因为它的价值。 :)

干杯。

7 个答案:

答案 0 :(得分:6)

搜索API now availableJavaPython的实验。

答案 1 :(得分:5)

使用Java GAE,您可以使用Compass,但这对Django没有帮助。对于Python,Bill Katz提供one solution - 开源 - 并且these guys提供特定于Django的方法,但是,这种方法仅对非商业应用程序是免费的(即,如果您的应用程序赚钱,他们想要你支付他们的全文搜索费用)。我对这些解决方案中的任何一个都没有实际经验,所以我无法提供有根据的建议,但从一些人看到的东西看起来非常有用。

答案 2 :(得分:5)

我所知道的Python App Engine搜索概述:

Google确实使用SearchableModel添加了一个减少搜索,尽管它有一些限制(5000个索引字数限制,字符串属性不是文字):

或者正如另一张海报所指出的那样有以下选择:

快速简单的文字搜索:

该产品具有相当全面的免费版本和更广泛的商业版本:


我读过Google确实有一个项目可以将全文搜索带到App Engine,虽然这不会在短期内发生


我真的希望看到各种搜索框架的比较,看看它们如何相互叠加。有谁知道这样的报道?


修改Google Search API now available (although still experimental)

答案 3 :(得分:3)

目前,真正的答案是 在Google App Engine上没有真正的全文搜索。此处其他答案提供的解决方案适用于玩具数据集,但不能扩展到O(10000)以上的文档。谷歌将不得不提供搜索作为GAE的基础设施功能。请参阅feature request(主要是多余的)讨论。

答案 4 :(得分:2)

@快速简单的文字搜索:  http://www.billkatz.com/2009/6/Simple-Full-Text-Search-for-App-Engine


这个解决方案对我不起作用 - 并且考虑下面的限制,它对实际用例不太可能有用。

  1. 它使用StringListProperty来存储限制为500个字符的短语。
  2. 它不适用于标准查询过滤器。

答案 5 :(得分:1)

Issue 217 Bill Katz发布了一个要处理的广告资源,而http://gae-full-text-search.appspot.com/可用,levensthein是另一项匹配措施

答案 6 :(得分:0)

您应该能够调整Whoosh!来写入数据存储区而不是磁盘上。这是一个纯粹的python全文搜索引擎。它不像Lucene那么快或功能齐全,但它应该在GAE上运行而不需要太多修改。