国内外新闻动态,ASO干货,行业资讯。 德普优化,出海必备ASO数据分析平台! 投稿请发送至邮箱:2902675294@qq.com

最流行的5款开源全文搜索引擎

资讯快闻 蓝天白云 6120℃ 0评论

a5cb663ea40d177bbbc414382bc7c022

 

1. Lucene

官网:http://lucene.apache.org/

说明:基于Java的一个开放源代码的全文检索引擎工具包,注意是工具包,所以严格来说它并不是一个搜索引擎服务程序,开发者需要了解搜索引擎的基本原理和Lucene的用法,然后根据需求用Java来开发。

Lucene是当前最成熟、功能最强大的开源搜索引擎。

 

2. Elasticsearch

官网:https://www.elastic.co

资料整理:http://news.deepaso.com/search-engine/elasticsearch-goods.html

说明:基于Lucene开发的搜索引擎服务。背后的公司位于荷兰,总部在阿姆斯特丹。

它具有以下优点:自带分布式、近实时索引、Schema-Free、RESTful api、面向文档设计等。

ES背后的公司是2012年成立的,相对于传统的一些搜索引擎,es有不少创新的设计,如: schema-free、json输入输出、基础检索和多机结果归并一个服务内处理等。

初学者易上手,开箱即用,输入输出全部json数据格式,交互方便,能很快搭建起一些基础的搜索服务。但要精通es需要花不少时间。

对于10亿级以上的数据量通过分布式多机部署也可以比较容易实现。

 

3.Solr

官网:https://lucene.apache.org/solr/

说明:同样基于Lucene,Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

功能上与Elasticsearch类似,但这两年Elasticsearch发展势头似乎更好。

 

4.Sphinx

官网:http://sphinxsearch.com/

说明: sphinx是基于c++写的搜索引擎,主要包含两个程序:indexer索引器和searchd搜索服务。是一个比较完整的搜索引擎。

它具有索引速度快、配置使用方便、检索性能好等优点。可以直接从mysql获取索引数据。

在分布式、易用性、实时性等功能上面会略差于es,特别对于一些搜索引擎的高级功能上面需要定制开发才能比较好地实现。

国内自带中文分词(mmseg)的版本有coreseek:http://www.coreseek.com/

支持通过php、C++等特定API接口访问搜索服务,适合数据量在百万级的单机搜索引擎,速度快,全量索引方便,服务稳定。虽然也支持分布式搜索环境,但易用性上会差于es。

 

5.Xapian

官网:http://xapian.org/

说明:也是基于c++写的搜索引擎,国内中文分词版的有xunsearch,很久没用了,之前用的时候感觉易用性上比sphinx会差一些,不建议初学者使用,作为学校里面搭建搜索引擎练习练习还行。

 

选型建议:

数据量百万级的简单搜索需求可以试试sphinx(coreseek)或者elasticsearch

各种小搜索特别多的公司建议直接elasticsearch,方便维护

对数据量大、有分布式需求、实时性要求比较高的建议elasticsearch

数据量非常大或者各种定制化需求,上述搜索引擎已经无法满足需求的,建议自己开发或者在现有的开源搜索引擎基础上开发,但成本会比较大,一般不建议。

 

根据实践经验,大部分搜索引擎功能需求可以用上述开源搜索引擎实现(或者通过预处理后传入搜索引擎),但更多时候,搜索关注的是整体效果。这就需要对搜索引擎原理有一个整体的了解、对索引的数据有比较好的分析、对用户的需求把握较好,然后结合需求来配置、优化、运维这些开源搜索引擎,结合实际情况分析搜索性能、搜索结果的需求满足度,通过对数据的深度挖掘和分析来改进搜索体验。

 

转载请注明:德普微新文 » 最流行的5款开源全文搜索引擎

喜欢 (4)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址