在Heroku,数据库和 /或索引器选择上进行全文搜索?
-
25-10-2019 - |
题
我正在寻求实施(像啤酒一样免费)在Heroku上的一个小应用程序(用户数量最少,Limited数据集)上搜索全文。但是,我正在努力寻找最佳的模式,一种选择是使用Xeround的10MB限制,而它可以持续(我们可能会在不久的将来超过此),第二个是以某种方式滚动我自己的全文搜索在MongoDB或CouchDB上。
本应用程序中的文档是我希望从邮件列表中搜索的归档电子邮件,大约有10k此类电子邮件,纯文本,大约700 bot。
我更喜欢模糊的搜索功能,从而推动Whoosh的推动。
在我的要求中(我应该之前提到过,是为了 自由的!)
我还没有在Python的烧瓶应用程序中找到与MongoDB一起使用Whoosh的任何模式。
谁能提供有关如何在小型Heroku Python应用程序中处理全文搜索的更多信息?
解决方案
所以我没有尝试过,但是 http://tenderlove.github.com/texticle/ 似乎暗示您可以使用本机PGSQL FullText搜索,如果您可以安装在空间限制范围内。 Whoosh的麻烦在于,您将遇到磁盘空间及其在Heroku规则中的持久性问题。
另一件事是与Dev Docs建议的添加ONS合作:http://devcenter.heroku.com/articles/full-text-search
至于模式,您基本上必须进行完整搜索并获取记录的数据/ID,然后根据FullText结果查询您的数据存储(Mongo)对完整数据集进行查询。这是一个手动过程,但没有什么太奇怪了。如果搜索不需要完整的记录,您通常可以使用全文信息藏匿重要的数据,但这会增加完整文本索引的大小。
不隶属于 StackOverflow