Heroku,数据库和/或索引器选择的全文搜索?

时间:2012-02-16 04:23:24

标签: python heroku full-text-search nosql flask

我希望在Heroku上的一个小应用程序(最少数量的用户,有限数据集)上实现(免费,如啤酒)全文搜索。但是,我正在努力找到这样做的最佳模式,一种选择是使用10mb的xeround限制,而它持续(我们可能在不久的将来超过这个),第二种是以某种方式滚动我自己的全文搜索在MongoDB或CouchDB上。

此应用程序中的文档是我希望通过邮件列表搜索的存档电子邮件,大约有10k这样的电子邮件,纯文本,大约每个700字节。

我更喜欢模糊搜索功能,因此推动了嗖嗖声。

在我的要求中(我之前应该提到的,是免费!)

我没有找到任何在python,flask应用程序中使用MongoDB的方法。

任何人都可以提供有关如何在小型heroku,python应用程序中处理全文搜索的更多信息吗?

3 个答案:

答案 0 :(得分:2)

所以我没有尝试过,但http://tenderlove.github.com/texticle/似乎暗示你可以使用本机pgsql全文搜索,如果你可以适应空间限制。麻烦的问题在于你将遇到磁盘空间问题及其在heroku规则中的持久性。

另一件事是按照开发文档的建议使用add ons: http://devcenter.heroku.com/articles/full-text-search

对于模式,您基本上必须进行全文搜索并获取记录的数据/ ID,然后根据全文结果查询数据存储(mongo)以查找完整数据集。这是一个手动过程,但没有什么太奇怪的。如果搜索不需要完整记录,您通常可以使用全文信息来存储重要数据,但这会增加全文索引的大小。

答案 1 :(得分:0)

pysolr解决了您的问题。

答案 2 :(得分:0)

你考虑过使用Apache SolR吗?我认为这是自由文本搜索引擎的最佳解决方案,它是免费和开源的。

要从python使用SolR,我建议您使用MySolr库。比pysolr更快更容易使用(你可以看到一些统计数据here