我们为什么在这里?我存在的目的是什么?我应该运动还是休息并节省能量?早起上班或晚起并整夜工作?我应该将炸薯条和番茄酱或蛋黄酱一起吃吗?

这些都是古老的问题,可能有也可能没有答案。其中一些是非常困难或非常主观的。但是,让我付出一些努力来尝试回答其中之一:我应该使用Elasticsearch还是Solr?

这是场景。您的组织正在寻求实现您的第一个搜索引擎,并切换到另一个搜索引擎-呼吁所有Google Search Appliance(GSA)用户寻找替代品!-或尝试通过开源来省钱。作为一个熟练而有能力的开发人员,您已经被要求解决一个难题。您的问题有许多业务需求,但从根本上讲,这是一个“大数据和搜索”问题。

您需要从多个数据源中提取大量内容,并从这些数据中获取见解,以帮助您的公司发展并实现其今年的目标。

一击致命

这里有很多危险。您不会错过任何一个镜头。您需要合适的搜索引擎来工作,您正在考虑开放源代码,并且有两个受欢迎的选择:Elasticsearch或Solr,根据DB-的说法,这两个都稳居开放源和商业搜索引擎的前两位。引擎。

您会选择哪个开源搜索引擎?

这不是抛硬币也不是容易的选择。两种搜索引擎都很棒,没有一个“正确”的选择。这完全取决于您的要求。

因此,第一步是了解您必须构建什么应用程序。然后,下一步是查看每个搜索引擎必须提供的功能。顺便说一句,如果您仍处于开源与商业解决方案的交汇处,请获取我们的免费电子书,以深入了解选择搜索引擎时要考虑的10个关键标准。

功能概要

几年前,我们写了一个关于Elasticsearch vs. Solr的高级概述博客,其中讨论了总体趋势和非技术见解。现在,随着Elasticsearch的发展壮大并成为开放源代码搜索引擎市场的主导者,让我们重新审视一下每个领域,看看它将带给我们什么。

年龄和成熟度

在这种情况下,可以说Solr的历史悠久,它由CNET Networks的Yonik Seely于2004年创建,后来在2006年将其贡献给Apache。它最终在2007年毕业于顶级项目。我们拥有的是Elasticsearch,该软件于2010年正式创建,尽管它实际上是由其创始人Shay Bannon于2001年以Compass的名字开始的。从那时起,Kibana,Logstash和Beats的创建者加入了Elasticsearch,创建了Elastic Stack产品系列,该产品系列已成为搜索和日志分析领域的强大参与者。话虽如此,Solr的优势在于可以较早地在市场上看到。

社区和开源

两者都有非常活跃的社区。如果您查看Github,您会发现它们是非常受欢迎的开源项目,发布了很多版本。

一个非常重要的细节是,尽管两者都是在Apache许可下发布的,并且都是开源的,但是它们的工作方式却有所不同。Solr确实是开源的-任何人都可以提供帮助和贡献。使用Elasticsearch,尽管人们仍然可以提供他们的捐款,但是只有Elastic的员工(Elasticsearch和Elastic Stack背后的公司)可以接受这些捐款。

这是好事还是坏事?这取决于你怎么看了。这意味着,如果有您需要的功能,并且您以足够的质量向社区做出了贡献,那么它可以被Solr接受。借助Elasticsearch,由Elastic来决定是否接受捐助。因此,Solr上可能有更多功能选项。另一方面,对Elasticsearch的贡献要经过更高级别的质量检查,可能会提供更高的一致性和质量。

文献资料

Elasticsearch和Solr都有文档齐全的参考指南。Elasticsearch在Github之上运行,而Solr使用Atlassian Confluence。您可以通过下面的链接找到它们。

Elasticsearch参考指南
Solr参考指南

核心技术

让我们多一点技术。Elasticsearch和Solr是两个不同的搜索引擎。但在下面,它们都使用Lucene,这意味着两者都建立在“巨人的肩膀”上。

对于那些想知道为什么我将Lucene视为“巨人”的人来说,它是许多搜索引擎支持下的实际信息检索软件库。它非常快速,稳定,并且可能无法比这更好。Lucene是由Hadoop的创建者之一Doug Cutting于1999年创建的。因此,Lucene是在搜索引擎中使用的理想选择。

Java API和REST

Elasticsearch具有更多的“ Web 2.0” REST API,但是Solr的SolrJ确实有更好的Java API-如果使用Microsoft技术,则为SolrNet。Elasticsearch拥有Nest和Elasticsearch.Net。Solr的REST API可能没有那么灵活,但是它可以很好地满足您的需求:建立索引和查询。Elasticsearch会说JSON,因此,如果您周围都使用JSON,那么这是一个不错的选择。Solr也支持JSON,但是它是在以后的阶段添加的,因为它最初是针对XML的。

内容处理

内容处理由于它们都公开了API,因此很容易从您的自定义应用程序或已经存在且可配置的应用程序中索引内容。例如,我们的Aspire内容处理框架能够连接到多个数据源并发布到Elasticsearch或Solr。

Solr还具有使用Apache Tika从二进制文件提取文本的功能。因此,您可以通过ExtractRequestHandler上传PDF,Solr将知道如何处理它。

另一方面,Elasticsearch与Logstash配合良好,后者可以处理任何来源的数据并为其编制索引。

可扩展性

缩放是一个关键的考虑因素。在这种情况下,当Solr仍然受限于Master-Slave时,Elasticsearch赢得了比赛。但是,SolrCloud最近才进入游戏。在Zookeeper的帮助下,现在可以以更加轻松快捷的方式扩展Solr集群-与具有Master-Slave的旧版本Solr相比,这是一个增强。仍然需要进行大量改进,但是就可以在Solr中摄取和搜索的数据集的大小而言,前途一片光明。

供应商支持

有几家公司不得不决定哪种产品最适合他们。例如,Cloudera选择了Solr作为他们的搜索引擎,以集成到开源CDH(包括Hadoop的Cloudera Distribution)中。另一方面,还有其他供应商选择Elasticsearch作为其解决方案的搜索引擎。Search Technologies的我们将为两个搜索引擎提供咨询,部署和支持。

愿景与生态

Solr更加侧重于文本搜索。Elasticsearch迅速树立了自己的利基市场,通过创建Elastic Stack(以前称为ELK Stack)来进行日志分析,Elastic Stack代表Elasticsearch,Logstash,Kibana和Beats。双方都有清晰的愿景,并且正在朝着自己的方向大步前进。

值得重申的一件事是,如何将两个搜索引擎用作许多领先搜索和大数据平台的基础。例如,Elasticsearch是Microsoft Azure搜索的一部分,而Solr已集成到Cloudera Search中。

性能

在性能方面,根据我从许多开发人员那里获得的经验,我们可以说这两个引擎都表现出色。因此,对于大多数用例而言,无论是内部还是外部搜索应用程序,只要开发人员正确设计和配置它们,性能都不会成为问题。

网络管理

Solr捆绑了Web管理,而Elasticsearch还有其他多个高级插件可用于安全性,警报和监视。此列表展示了Elastic的整个产品系列。

可视化

有许多方法可以在Elasticsearch和Solr中可视化数据-您可以构建自定义可视化仪表板,也可以使用搜索引擎的标准可视化功能(可能需要进行一些调整)。但是有一个区别值得一提。

Solr主要专注于文本搜索。它在这方面做得很好,成为了搜索应用程序的标准。但是,Elasticsearch朝着另一个方向发展,它超越了搜索范围,可以通过Elastic Stack解决日志分析和可视化问题。以下是您可以使用Kibana 5进行的一些可视化处理。

这并不意味着一个人胜于另一个。它仅表示每个搜索引擎在不同的用例和需求中都有自己的优势,而您的选择将在很大程度上取决于您的组织要完成的工作。

长话短说,Elasticsearch和Solr都是出色的开源选择,将帮助您从数据中获取更多收益。这完全取决于您的要求,预算,时间安排以及项目的复杂性。

有用的资源

  • 这本电子书详细介绍了选择搜索引擎的关键条件。它可以帮助指导您完成决策过程。

  • 如果您正在寻找评估搜索引擎和实施方案的专家帮助,请与我们联系以详细了解我们的评估。

本文 http://jiagoushi.pro/node/908
讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto】或者加QQ群【792862318】
公众号 【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号 【cea_csa_cto】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群 【792862318】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号 【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球 向大咖提问,近距离接触,或者获得私密资料分享。

喜马拉雅 路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
微博 【智能时刻】 智能时刻
哔哩哔哩 【超级架构师】

抖音 【cea_cio】超级架构师

快手 【cea_cio_cto】超级架构师

小红书 【cea_csa_cto】超级架构师

谢谢大家关注,转发,点赞和点在看。

【技术选型】Elasticsearch vs. Solr-选择您的开源搜索引擎相关推荐

  1. logstash创建不了索引_「技术选型」Elasticsearch vs. Solr-选择您的开源搜索引擎

    我们为什么在这里?我存在的目的是什么?我应该运动还是休息并节省能量?早起上班或晚起并整夜工作?我应该将炸薯条和番茄酱或蛋黄酱一起吃吗? 这些都是古老的问题,可能有也可能没有答案.其中一些是非常困难或非 ...

  2. 基于cocos2dx的2D手游美术资源制作技术选型(1)(2)

     基于cocos2dx的2D手游美术资源制作技术选型(1)--UI.纹理格式.动画制作 - 宏波.王 一.在屏幕尺寸和分辨率变化不一的情况下,UI如何做机型适配? UI是应用的门户,相对来说IOS ...

  3. 【音视频SDK测评】线上K歌软件开发技术选型

    摘要 在线K歌软件的开发有许多技术难点,需考虑到音频录制和处理.实时音频传输和同步.音频压缩和解压缩.设备兼容性问题等技术难点外,此外,开发者还应关注音乐版权问题,确保开发的应用合规合法. 前言 前面 ...

  4. 史上最全的WebRTC服务器技术选型分析

    想学更多的WebRTC知识,请关注WebRTC中文社区 在上一篇文章里我们介绍了我们介绍了MCU和SFU的优缺点,webRTC通信方案SFU和MCU的区别? 下面就来探讨下常见的SFU开源解决方案,当 ...

  5. 最全的WebRTC服务器技术选型分析

    前言 这里我也想给大家说一定,用了开源的解决方案,快速的搭建起业务,但是无疑也欠下了技术债,因为开源的解决方案肯定没有自己实现的要熟悉,因为不熟悉很多时候出现了问题,并不能马上解决,甚至解决不了,导致 ...

  6. 开卷有益的《开源技术选型手册》

    开卷有益的<开源技术选型手册> 上个月博文视点的朋友向我推荐了一本叫做<开源技术选型手册>读书,我利用闲暇时间翻阅了此书,感觉眼前一亮.长期以来我接触Open  Source基 ...

  7. 搜索引擎选择: Elasticsearch与Solr

    我用过这两种搜索引擎,但也仅仅是用过而已,没有非常深入研究,以下是我的看法 lucene是完全用java实现,而sphinx是支持java api.显然这两者是有差别的,用java实现的意义在于,你可 ...

  8. 短视频自研还是选择第三方?技术选型前必看的自检清单

    2017 年,短视频成为了内容创业的新风口,各种短视频 App 如雨后春笋般先后上线.随着互联网内容消费升级,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 为了能够更好地聚焦于业 ...

  9. 技术选型:为什么批处理我们却选择了Flink

    最近接手了一个改造多平台日志服务的需求,经过梳理,我认为之前服务在设计上存在缺陷.经过一段时间的技术方案调研,最终我们决定选择使用 Flink 重构该服务. 目前重构后的服务已成功经受了国庆节流量洪峰 ...

最新文章

  1. 火币网的macd怎么算的_黄金投资中MACD的计算方式
  2. 移动端页面适配解决方案
  3. 迷宫(AHOI2016初中组T3)
  4. char数组转换成字符串_将字符串转换为char数组java –将字符串转换为char
  5. 原型模式(Prototype) 1
  6. 54 搜索引擎及Lucene基础、elasticsearch使用基础、ES使用详解、ES查询及Logstash入门...
  7. 《Head First 设计模式》之迭代器与组合模式——遍历合并的菜单
  8. Unity笔记之凤凰模拟器
  9. 2019年BAT面试通关宝典:数据结构+JVM+并发编程+分布式...
  10. vant上传图片 转二进制_土旦:移动端 Vue+Vant 的Uploader 实现 :上传、压缩、旋转图片-Go语言中文社区...
  11. MybatisPlus进阶(三)——自动填充
  12. Facemark:使用OpenCV进行面部特征点检测
  13. 核心单词Word List 8
  14. ffmpeg h265
  15. tp接入富友H5支付
  16. php网页右下方广告窗口,javascript实现右下角广告框效果
  17. 分享一个门店会员管理系统模板
  18. Python使用百度通用API进行翻译
  19. 手机抢票软件哪个好?小编亲身体验下载推荐
  20. python小游戏打地鼠下载_Python 打地鼠小游戏

热门文章

  1. linux c ike协议,IPSEC中IKE协议在LINUX上的实现和研究
  2. [转]artDialog说明文档
  3. 阿里巴巴淘系前端实习生招聘
  4. linux下的压缩和解压命令
  5. swiper自定义分页器
  6. 从事英文搜刮引擎优化行业所具备的技术
  7. mac 恢复出厂设置
  8. 作业10 兔子来回跑
  9. HP Pavillion15系列笔记本/其他系笔记本参考安装固态硬盘的过程
  10. 我把无人车的避障技术装进了iPad,刺激手部为盲人导航,杂货间也能畅通无阻