如何选择搜索引擎:Lucene、Sphinx还是MySQL的全文检索?


我们网站现在需要一个站内的全文搜索引擎,目前待选的有:Lucene、Sphinx、MySQL自带的全文检索,大伙有相关经验的可以说下应该用哪个呢?或者你还有别的建议也可以提出来。

lucene sphinx mysql 搜索技术

tcghzl 12 years, 7 months ago

我觉得应该选择Lucene,基于以下几点:
1.Sphinx和MySQL是基于数据库的全文引擎,创建索引是B+树和hash key-value的方式。而Lucene使用的倒排序索引,即每个词与包含这个词的文件形成对应关系。这样对于搜索文档,显然倒排序索引快。
2.Lucene除了索引功能,还提供文件格式识别(并建立索引)、分词(以前用的版本只有英文、德文等欧洲的语言)、评分算法(依据此结果排序)、多种搜索方式(组合、模糊、正则等)、搜索词高亮显示等诸多功能。
3.为C/S和B/S方式分别提供支持。
4.Lucene提供多种语言开发的版本,如:C++、Java、C#、Ruby、Python等。
5.提供扩展接口,方便功能扩展。

可以参考下<<Lucene In Action>>这本书。
我用Lucene做过企业内部全文检索系统,效果不错。

春天花花优等生 answered 12 years, 7 months ago

Your Answer