Lucene
系别:JAVA
基于Java的一个开放源代码的全文检索引擎工具包,注意是工具包,所以严格来说它并不是一个搜索引擎服务程序,开发者需要了解搜索引擎的基本原理和Lucene的用法,然后根据需求用Java来开发。
Elasticsearch
系别:JAVA
基于Lucene,仅支持json(可通过插件支持各种主流富文本),索引插入效率高,对比solr更适合近实时查询,但是对历史数据查询速度较solr慢。可用于索引更新频繁需求近实时查询较强的系统。支持分布式,无需额外中间件管理。支持中文分词。社区庞大,Java支持好,有spring-data
Solr(solar)
系别:JAVA
基于Lucene,支持pdf,word,txt等富文本索引(内容索引),索引插入时查询效率会降低,不适合近实时查询(索引更新频繁),对历史数据查询速度快,多用于传统应用。支持分布式,但需要zookeeper管理。支持中文分词。社区庞大,Java支持好。
Sphinx
系别:C++
与MySQL紧密结合,无需额外工具即可将MySQL数据上传到搜索引擎,增量索引支持麻烦, sphinx本身不支持中文分词,Coreseek是现在用的最多的sphinx中文全文检索,它提供了为Sphinx设计的中文分词包LibMMSeg。Coreseek目前稳定版是3.2.14(基于Sphinx 0.9.9 release开发),该版本还不支持实时检索。目前Coresekk4.1还是测试版,测试版本支持实时检索,但是不太稳定。
Xapian
系别:C++
和Lucene一样,