Solr 与 Elasticsearch 的对比与选型

发布时间:2021-11-27 07:13:59


一、Elasticsearch特性

1.1 安装管理方便


Elasticsearch没有其他依赖,下载后安装非常方便;只用修改几个参数就可以搭建起来一个集群。


1.2 大规模分布式


Elasticsearch允许你开始小规模使用,但是随着你使用数据的增长,它可以建立在横向扩展的开箱即用。当你需要更多的容量,只需添加更多的节点,并让集群重组,只需要增加额外的硬件,让集群自动利用额外的硬件。


可以在数以百计的服务器上处理PB级别的数据。


节点对外表现对等(每个节点都可以用来做入口);加入节点自动均衡,可以扩展到*偬ǚ衿鳎鞵B级别的结构化或非结构化数据。


Elasticsearch致力于隐藏分布式系统的复杂性。以下这些操作都是在底层自动完成的:


将你的文档分区到不同的容器或者分片(shards)中,它们可以存在于一个或多个节点中。
将分片均匀的分配到各个节点,对索引和搜索做负载均衡。
冗余每一个分片,防止硬件故障造成的数据丢失。
将集群中任意一个节点上的请求路由到相应数据所在的节点。
无论是增加节点,还是移除节点,分片都可以做到无缝的扩展和迁移
1.3 多租户的支持


ES处理多租户不需要特殊配置,可根据不同的用途分索引;可以同时操作多个索引。


ES 的多租户简单的说就是通过多索引机制同时提供给多种业务使用,每种业务使用一个索引。我们可以把索引理解为关系型数据库里的库,那多索引可以理解为一个数据库系统建立多个库给不同的业务使用。


在实际使用时,我们可以通过每个租户一个索引的方式将他们的数据进行隔离,并且每个索引是可以单独配置参数的(可对特定租户进行调优),这在典型的多租户场景下非常有用:例如我们的一个多租户应用需要提供搜索支持,这时可以通过 ES 根据租户建立索引,这样每个租户就可以在自己的索引下搜索相关内容了


1.4 高可用性


Elasticsearch集群是有弹性的 - 他们会自动检测到新的或失败的节点,以及重组和重新*衡数据,以确保数据安全。


1.5 操作持久化


Elasticsearch把数据安全第一。文档改变被记录在群集上的多个节点上的事务日志(transaction logs)中记录,以减少任何数据丢失的机会。


1.6 友好的RESTful API


Elasticsearch是API驱动。几乎任何动作都可以用一个简单的RESTful API使用JSON基于HTTP请求。ElasticSearch 提供多种语言的客户端 API。


Java


JavaScript


Groovy


.NET


PHP


Perl


Python


Ruby


1.7 典型使用案例


维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
GitHub使用Elasticsearch来检索超过1300亿行代码。
每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。
1.8 Elasticsearch的优缺点:


优点


Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
Elasticsearch 完全支持 Apache Lucene 的接*实时的搜索。
处理多租户不需要特殊配置,而Solr则需要更多的高级设置。
Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。
缺点


还不够自动(不适合当前新的Index Warmup API)


二、Solr特性

Solr(读作“solar”)是Apache Lucene项目的开源企业搜索*台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。


Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。 Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有一个插件架构,以支持更多的高级定制。


因为2010年 Apache Lucene 和 Apache Solr 项目合并,两个项目是由同一个Apache软件基金会开发团队制作实现的。提到技术或产品时,Lucene/Solr或Solr/Lucene是一样的。


2.1 Solr的优缺点


优点


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


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


三、 Elasticsearch与Solr对比

Solr与elasticsearch是当前两大最流行的搜索应用服务器,他们的底层都是基于lucene。


Elasticsearch是分布式的,不需要其他组件,Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能
Elasticsearch设计用于云计算中,处理多租户不需要特殊配置,而Solr则需要更多的高级设置。
当单纯的对已有数据进行搜索时,Solr更快,实时建立索引时, Solr会产生io阻塞,查询性能较差, Elasticsearch具有明显的优势,随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化
Elasticsearch与Solr的性能测试比较:


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

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

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


四、云计算方面的应用




现在是分布式与云计算的年代,Elasticsearch是后来居上,天生支持分布式与云计算,国内现在主流云计算厂商都是基于Elasticsearch提供搜索云服务,如阿里云、腾讯云、京东云等,在云计算领域,Elasticsearch全面胜出。

相关文档

  • 肾阳虚的治疗方法
  • 眼部护理的手法视频
  • 论文笔记:微表情识别综述1
  • Matlab R2019a初始化导致启动慢的解决方法
  • java基础数据结构算法面试题-彻底搞懂二分查找
  • 关于人际关系的演讲
  • 八个月宝宝的辅食食谱
  • 床垫套罩品牌十大排行榜
  • 哲学专业必读书目
  • 元旦活动演讲稿
  • 有关会议的邀请函范文
  • photoshop中文语言包photoshop将语言换成中文的方法
  • 关于滑冰知识
  • 寒假日记十则
  • CentOS无显卡启动启动不了,而Windows却可以远程登录
  • 女汉子有个性的签名大全
  • 不过人间歌词想表达什么
  • 我爱我家??陈裕祥
  • 青春正能量励志语录大全
  • 超简单的小树枝简笔画原创教程步骤
  • 9. Redis 发布订阅模式
  • 孕妇没胃口吃什么开胃
  • 黄龙风景区导游词
  • 怀孕期间吃醋可以不
  • 《黑熊舞蹈家》读后感精选多篇
  • 数字字典的作用
  • win10无线投屏_如何实现win10无线投屏电视?电脑投屏电视的办法介绍
  • 基于傅里叶变换的音频重采样算法 (附完整c代码)
  • 大寒节气养生问候语
  • STM32自学周记(四)
  • 猜你喜欢

  • 2017-2023年中国变压器行业发展现状与投资战略规划可行性报告(目录)
  • 孤单伤感个性签名集锦
  • 对农行企业文化的探讨
  • 人教版小学六年级下册语文每课知识点归纳总复*
  • 泪目!Android快速转战Kotlin教程,算法太TM重要了
  • 地测科工作人员岗位责任制皮皮
  • 描写最美丽的瞬间的作文
  • 上海利是宝实业有限公司企业信用报告-天眼查
  • 风劲正是扬帆时策马扬鞭再奋蹄——中建国信勘测规划有限公司发展纪实
  • 河南省微特电机行业企业名录2017年134家
  • 音乐 六年级下册 蓓蕾竞放 word高清打印版电子书电子课本
  • 网康科技功能介绍
  • Halcon模板匹配之灰度匹配
  • 陕西华特测控系统工程有限公司企业信用报告-天眼查
  • ABB现场经验汇总10.1.15
  • 冀教版小学三年级上册美术教案
  • 人事行政专员自我评价
  • 电子烟的原理
  • 七年级数学期末质量监测卷面分析
  • Pseudo-Convex Decomposition of Simple Polygons
  • 小孩鼻炎吃什么药
  • 工程测量岗位年终总结暨新年计划PPT模板
  • 计量经济学及其应用第3章.ppt
  • 2015年《寒假总动员》高三语文寒假作业(背学练测)专题13 小说阅读之形象、语言(测)(解析版)]
  • 优质护理服务对中风患者肢体功能康复的促进效果观察
  • 2015年四川省监理工程师执业资格:工程师的口头指示考试试题
  • 膨体混纺纱项目可行性研究报告申请报告
  • 上海微式医药科技发展有限公司企业信用报告-天眼查
  • 侦探小说排行榜 那些2014年值得一看的推理小说推荐
  • 越权漏洞原理及水平越权案例演示
  • 初中物理竞赛练*题(8)浮力
  • 【述职报告】20XX年仓储保管组长述职报告
  • 黑龙江汇良餐厅食品有限公司名门餐厅企业信用报告-天眼查
  • 个人药店实践总结
  • 世界五百强排行榜(企业名单)
  • 猛鬼故事集精选
  • 青岛版二年级下册数学第六单元信息窗2自主练习题-文档资料
  • 三年级数学下册《复式统计表》教案
  • 江门市新会区荣兴钢管有限公司企业信用报告-天眼查
  • 观《肖申克的救赎》的随想_900字
  • 20121101 蔡武 :加快推动文化产业跨越式发展
  • 孩子读书家长评语
  • 电脑版