78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

Lucene,Elasticsearch,Solr,Xapian,Sphinx主流搜索引擎的优缺点对比

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一样,Xapian只是一个搜索引擎工具库,用户可以在其上自己扩展其适合的应用,它是基于概率模型

来做为查询分数计算的基本,当然,它还提供了丰富的Boolean查询功能。

由于lucene,xapian是工具包故排除,以下仅对成型产品作对比

未命名-1.jpg Lucene,Elasticsearch,Solr,Xapian,Sphinx主流搜索引擎的对比  Lucene Elasticsearch Solr Xapian Sphinx主流搜索引擎的对比 Lucene,Elasticsearch,Solr,Xapian,Sphinx主流搜索引擎的优缺点对比 第1张

各方面资料显示Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 

Elasticsearch。对于此处所提及的传统搜索以及实时搜索我个人理解便是,实时搜索具体指的是微博,知乎

等需要实时更新索引并能被搜索到的应用,与之相对应的传统搜索应该是指数据恒定或增量极少的应用?比如

图书馆索引?因为多数资料都从solr检索已经索引的数据时效率比es要快,但是又提到,solr随着数据量增大,

检索效率会降低得出solr更适合传统应用。

档案管理系统是基于Java开发的springboot应用,故应选择对Java/spring整合比较友好的检索引擎,故xapian

可以排除,另外档案管理系统是中文应用,应选择支持中文分词的搜索引擎,有资料显示sphinx引擎的中文分词

插件Coreseek已经停止维护并不太稳定,故也应该排除,剩下的lucene,solr,es均为Java开发,并且solr,es是

基于lucene开发的具体解决方案而lucene是搜索工具包,如需要实现搜索功能需自行开发,适合需定制或自研检索

引擎的企业/团队,故lucene也被排除,剩下es,solr各有好处,性能不相伯仲。在传统应用中,也就是静态索引中,

solr查询速度更快,但是由于增量索引solr会阻塞导致查询变

本文链接:http://78moban.cn/post/2270.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部