2009-06-03 36 views
14

这是坦承类似(但不是重复)Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?,但是我所寻找的是具体的,支持,从多个可用系统的经验的好处的建议(似乎有很多的:“我用过lucene,但不是狮身人面像”,反之亦然)。php mysql全文检索:lucene,sphinx或?

设置:标准LAMP(Mysql 5.0,PHP 5)。

MySQL的:表使用InnoDB引擎为外键约束

我们正在索引数据,而不是网页。要编入索引的数据可能是多种语言(utf-8字符集)

我遇到的一些比较(如http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/)要么不是完全适用的(鼬是Lucene端口,但不同于Zend_Search_Lucene )或者他们推动他们自己的系统/实现(不完全没有偏见)。

我遇到的其他一些问题(例如http://whatstheplot.com/blog/tag/lucene/http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/)为两个系统的性能提供了非常不同的结果。

此外,我读到的大部分内容都忽略了Xapian。这可能值得考虑吗?

所以......我希望你们中的一些人对这个问题有一些经验,可以帮助一些建议或指向正确的方向。

回答

9

Sphinx的一个优点是你可以在你的客户端和MySQL服务器之间“干涉”它,它只会“干扰”专门处理它的查询,透明地反弹MySQL中的其他对象 - 例如参见this article。无论这在您的用例中是一个优势,您最有可能说!

对不起,Xapian或Lucene没有真实的体验 - 仍然在阅读如何部署它们,这听起来像(对我来说),就好像只有在确定了实质性优势时它才值得。否则,Sphinx的“一蹴而就”部署,作为您的客户端与MySQL服务器之间的“代理”,感觉就像是一次巨大的实质性胜利!

+0

狮身人面像似乎有很多优点,但考虑到lucene有一些颇有声音的拥护者,我希望听到一些有经验的人 – 2009-06-03 05:47:22

+2

最后我继续测试狮身人面像,目的是测试Lucene (也许是Xapian),但是,诚实地说,它与PHP/MySQL设置非常顺畅地集成在一起,我很难证明在其他时间花费时间是合理的。 – 2009-06-06 05:04:58

3

我看着Zend_Search_Lucene和Sphinx的一个项目听起来很相似 - 搜索数据库内容(在我的情况下,书籍信息)。我花了一天时间看着每一个。对于它的价值,我发现Sphinx设置和使用起来非常容易。