您的位置:首页 > 其它

【笔记】Elasticsearch vs Solr

2017-12-19 13:53 393 查看
一、Elasticsearch

1.定义:

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,用java开发,是当前流行的企业级搜索引擎。能够达到实时搜索,稳定,可靠,快速,安装使用方便。

2.优点:

①分布式:节点对外表现对等,加入节点自动均衡。

②完全支持Apache Lucene的接近实时的搜索。

③处理多租户(mutitenancy)不需要特殊配置,而Solr则需要更多的高级设置。

④Elasticsearch采用Gateway的概念,使得数据持久化更加简单。

⑤各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其工作。

3.缺点:技术还在完善中

二、Slor

1.定义:

Solr是Apache 下的一个开源项目,使用Java基于Lucene开发的全文检索服务是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

2.优点:

①Slor有一个更大更成熟的用户、开发和贡献者社区。

②Slor支持多种数据格式的索引,比如:JSON、XML、CSV等多种数据格式。

③Slor发展比较成熟稳定。

④Solr搜索海量历史数据,数度非常快,毫秒级返回数据。

3.缺点:

Solr建立索引时,搜索效率下降,实时搜索效率不高。

三、检索速度比较

当单纯的对已有数据进行搜索时,Solr更快。



当实时建立索引时, Solr会产生io阻塞,查询性能较差, Elasticsearch具有明显的优势。



随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化。



四、热度比较





数据来源:百度指数

五、总结

二者安装都很简单。

Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。

Solr 支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持json文件格式。

Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供

Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。

Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: