一尘不染

PHP的MySQL全文搜索:Lucene,狮身人面像,还是?

mysql

诚然,这 全文搜索引擎比较-Lucene,Sphinx,Postgresql,MySQL
类似
(但不是重复),但是我正在寻找的是针对特定的,受支持的建议,这些建议是从不止一个可用系统的经验中受益的(似乎有很多:“我使用了lucene,但没有使用狮身人面像”,反之,反之亦然。

设置:标准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。这是否也值得考虑?

所以…我希望在座的一些人对这个问题有一定的经验,可以为您提供一些建议或为我指明正确的方向。


阅读 283

收藏
2020-05-17

共1个答案

一尘不染

Sphinx的一个优点是您可以在客户端和MySQL服务器之间“插入”它,并且它只会在专门解决它的查询上“干扰”,透明地将其他对象从MySQL弹起-
参见例如本文。在您的用例中,这是否是一个优势,您最好说一下!

抱歉,没有Xapian或Lucene的真实经验-
仍在阅读有关如何部署它们的信息,这听起来(对我来说!)似乎只有在您确定了实质优势的情况下才值得。否则,Sphinx的“简单易用”部署(作为客户端和MySQL服务器之间的“代理”)对我来说是一个巨大的巨大胜利!

2020-05-17