全文搜索与Python
有没有人能帮我推荐一个支持Python的全文搜索引擎?
现在我们有一个MySQL数据库,我想增加一个功能,让它能对数据库中某些表里的文本进行全文搜索。这个文本数据会被一个网页应用用来搜索数据库中的相关记录。例如,可以对我们客户表中的客户姓名信息进行索引,然后通过网页应用进行全文搜索,以获取客户的MySQL记录。
我简单看过Lucene、Swish-E和MongoDB等几个选项,但我不太确定哪个比较适合我,主要考虑以下几点:
- 我不是Java开发者(虽然我编程已经很久了),
- 我们只想搜索相对较小的数据集,
- 我们希望对MySQL数据库中的文本进行索引,
- 并希望这个索引能够半实时更新。
任何建议、提示或指引都将非常感谢!
3 个回答
0
几个月前,构建pylucene的过程让我感到非常痛苦。如果一个项目这么难搭建,我觉得它是很难获得关注的。
因为有其他人也有同样的需求,我们开始了一个项目,地址是https://code.google.com/a/apache-extras.org/p/pylucene-extra/,目的是收集在不同操作系统、Python版本和Java运行环境下预先构建好的pylucene和jcc包。不过最近这个项目不是很活跃。
你可以考虑使用Whoosh,或者看看Sphinx、ElasticSearch或者HaystackSearch(注意:我没有参与这些项目的开发)。
另外,你也可以尝试通过Python访问Solr(有一些API可以用),这可能比使用pylucene要简单得多。当然,lucene仍然需要一个JVM来运行。
因为你不需要特别大的扩展性,我建议你关注简单的使用和社区支持,而不是性能和规模。希望这些信息对你有帮助。