文档章节

Elasticsearch与Solr搜索引擎选型调研文档

小海bug
 小海bug
发布于 2018/06/28 23:55
字数 902
阅读 259
收藏 9

Elasticsearch

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

优点
Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push
replication”。
Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进
行工作。
缺点
只有一名开发者(当前Elasticsearch GitHub组织已经不只如此,已经有了相当
活跃的维护者)
还不够自动(不适合当前新的Index Warmup API)

Solr

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

优点
Solr有一个更大、更成熟的用户、开发和贡献者社区。
支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
Solr比较成熟、稳定。
不考虑建索引的同时进行搜索,速度更快。
缺点
建立索引时,搜索效率下降,实时索引搜索效率不高。

Elasticsearch与Solr的比较

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


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

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

Elasticsearch 与 Solr 的比较总结

  • 二者安装都很简单;
  • Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  • Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
  • Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
  • Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。

从使用情景来讲:solr更专注于文本搜索,而Elasticsearch则常用于查询、过滤和分组分析统计,这里举例说明下实时搜索,比如日志检索,希望的是实时的日志检索。个人建议可以先考虑elastic更易用和扩展(天然支持分布式),如果elastic满足不了你的需求,这时候可以考虑solr对格式和文档方面的支持。这里希望大家都能讲一下自己的看法,希望有人提出好的选型办法和意见

技术交流群:208779755
个人公众号:,平时发一些技术文章,有兴趣的可以关注一下

© 著作权归作者所有

小海bug
粉丝 23
博文 122
码字总数 69297
作品 0
北京
架构师
私信 提问
搜索引擎选择: Elasticsearch与Solr

搜索引擎选型调研文档 Elasticsearch简介* Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。 它可以用于全文搜索,结构化搜索以及分析,当然...

开源中国首席码农
2016/11/15
1K
4
全文搜索引擎选 ElasticSearch 还是 Solr?

点击上方“芋道源码”,选择“设为星标” 做积极的人,而不是积极废人! 来源:http://t.cn/Ebgm7sn 什么是全文搜索 为什么要用全文搜索搜索引擎 Lucene,Solr,ElasticSearch ? Elasticsea...

芋道源码
04/03
0
0
全文搜索引擎选ElasticSearch还是Solr?

而且它还是其他团队在维护,依赖性太强,导致 Solr 服务一出问题,我们的项目也基本瘫痪,因为所有的依赖查询都无结果数据了。 所以考虑开发一个适配层,如果 Solr 搜索出问题,自动切换到新...

51CTO技术栈
2018/12/27
0
0
java 全文索引 Solr 和 Elasticsearch

参考 https://www.cnblogs.com/blueskyli/p/8326229.html https://blog.csdn.net/enjoker/article/details/78666095 关于Apache Solr Apache Solr基于业界大名鼎鼎的java开源搜索引擎Lucene,......

阿豪boy
2018/07/29
8
0
Elasticsearch初探(1)——基本介绍与环境搭建

版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接。 https://blog.csdn.net/yuanlaijike/article/details/82966110 一、Elasticsearch简介 1.1 什么是Elasticsear...

Jitwxs
2018/10/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[转] Java 无界阻塞队列 DelayQueue 入门实战

原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元...

泥瓦匠BYSocket
7分钟前
1
0
zk中集群版中角色和消息类型

服务器角色 LEADER LEARNER FOLLOWING OBSERVER 消息类型 数据同步 服务器初始化 请求处理型 会话管理型 LEADER 集群工作核心,作用有: 1事务请求唯一调度和处理者,保证事务处理顺序性 2集...

writeademo
9分钟前
2
0
阿里云推送的基本使用-Swift;iOS10+

func initCloudPush(){ CloudPushSDK.asyncInit("*****", appSecret: "*******") { (result) in if result!.success{ print("deviceId===......

west_zll
20分钟前
2
0
分布式及高可用元数据采集原理

转载本文需注明出处:微信公众号EAWorld,违者必究。 引言: 元数据采集是元数据产品的核心部分,如何提升采集效率是需要仔细斟酌的事情,既要保持稳定性也要保持跟上主流技术的发展趋势。元...

EAWorld
36分钟前
2
0
为构建社交关系链手淘都做了啥?

作者|王卫(泓冰) 出品|阿里巴巴新零售淘系技术部 01、淘宝社交关系推荐的背景 1、互联网下半场到来:互联网的下半场,人口红利消失,各大平台需要对用户做精细化运营,用户的增长和留存是每一...

阿里云官方博客
37分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部