我正在尝试在我的网站上实现搜索功能,该网站运行在 Pyramid 上,我想知道解决此问题的最有效方法是什么。我目前正在调查 Whoosh和 MySQL full text searching with SqlAlchemy .我需要一种快速且简单的实现方式,想知道哪一个是最佳选择。
最佳答案
我尝试将全文与 native 数据库一起使用了一段时间,但让事情在 sqlite、mysql 和 pgsql 上正常工作实在是太麻烦了。我将所有搜索代码移植到 whoosh 上,从那以后我真的很开心。它适用于小型工作负载,是纯 Python 语言,无需设置服务器。
您只需像在磁盘上写入和更新文件一样实现它。从我读过的内容来看,它在数百万份文件中表现良好。我将它与索引大小约为 100MB 的一些 18k 文档一起使用。用它来实现各种标记化和其他配置有很大的灵 active 。我真的建议人们从那里开始,如果他们不满意,然后考虑使用 elasticsearch、lucene/solr 等启动额外的进程。
你可以在这里看到我是如何实现它的:
https://github.com/mitechie/Bookie/blob/develop/bookie/models/fulltext.py
然后我使用 SqlAlchemy 事件 Hook 更新它:
https://github.com/mitechie/Bookie/blob/develop/bookie/models/__init__.py#L663
你可以通过搜索来判断它的一个基本实现:
关于python - 使用 Pyramid 框架搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641762/