Answers
我觉得应该选择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, 6 months ago