我希望在Heroku上的一个小应用程序(最少数量的用户,有限数据集)上实现(免费,如啤酒)全文搜索。但是,我正在努力找到这样做的最佳模式,一种选择是使用10mb的xeround限制,而它持续(我们可能在不久的将来超过这个),第二种是以某种方式滚动我自己的全文搜索在MongoDB或CouchDB上。
此应用程序中的文档是我希望通过邮件列表搜索的存档电子邮件,大约有10k这样的电子邮件,纯文本,大约每个700字节。
我更喜欢模糊搜索功能,因此推动了嗖嗖声。
在我的要求中(我之前应该提到的,是免费!)
我没有找到任何在python,flask应用程序中使用MongoDB的方法。
任何人都可以提供有关如何在小型heroku,python应用程序中处理全文搜索的更多信息吗?
答案 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)