【搜索引擎选型】Solr vs. Elasticsearch:选择开源搜索引擎

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 【搜索引擎选型】Solr vs. Elasticsearch:选择开源搜索引擎

结合了云,分析和认知搜索的观察结果

Solr vs. Elasticsearch在我们的客户项目和企业搜索社区中经常讨论。但是,随着传统企业搜索已演变为Gartner所谓的“ Insight Engines”,我们重新讨论了该主题,以提供结合了Cloud,Analytics和Cognitive Search功能的最新观察结果,以帮助您评估Solr和Elasticsearch。

通常,当我们帮助客户进行围绕其企业解决方案中使用开源搜索引擎的评估时,会提出以下问题:“ Solr还是Elasticsearch,哪个更好?”虽然可能会有先入为主的观念,这个问题比另一个要好,当被圈定为“哪个对我更好?”时,这个问题更相关。

可以使用多种搜索引擎技术,但是最受欢迎的开放源代码变体是那些依赖于Apache Lucene底层核心功能的技术,从本质上讲,这是使搜索引擎正常工作的部分。Solr和Elasticsearch是搜索库之上的组件,为完整的搜索产品提供了自己的实现和功能。Lucene的核心功能为Solr和Elasticsearch的基本搜索功能提供了相同的体验,但是围绕Lucene的实现方法才是差异化的原因。

搜索引擎的作用已经从有效地查找信息转变为在内容分析,预测建模以及与认知/智能搜索功能(例如自然语言处理(NLP),机器学习(ML)和相关性)的集成中发挥关键作用得分。我们已经在客户工作中探索并实现了这些智能功能-在此处了解更多信息。

 

Solr vs. Elasticsearch:哪个对我的组织更好?

这得看情况。

关于采用一种技术而不是另一种技术有许多用例。但是当被问到这个问题时,我通常会从运营管理的角度来类比地回答:“ Solr就像Linux。您可以根据自己的需求进行大量自定义和定制Solr,但与Elasticsearch所需的工作相比,管理和部署要涉及更多的资源,而且要消耗大量资源。Elasticsearch具有非常好的设计的用户界面(Kibana),非常易于部署,管理和监视(使用X-Pack),该界面允许进行数据探索和创建分析可视化,但是自定义其功能是有限的,并且使用插件框架。

如果您愿意,Elasticsearch可能适合您:

  • 使您的搜索引擎快速启动并运行,而几乎不会产生任何开销;
  • 尽快开始探索您的数据;和
  • 将分析和可视化视为用例的核心组成部分。

如果您满足以下条件,Solr可能适合您:

  • 需要大规模索引和重新处理大量数据;
  • 有可用的资源来投资于管理Solr和可用于交互的工具;和
  • 具有可与Solr配合使用的现有企业框架(例如其他Apache产品(例如Hadoop)或企业框架(例如Cloudera,Hortonworks或基于Hadoop的HDInsights))。

这并不是说Hadoop平台无法与Elasticsearch配合使用(我们已向客户提出了此方案),但是某些平台(尤其是Cloudera和Hortonworks)提供了额外的工具和方法来对生态系统内的数据建立索引和管理Solr(尤其是即将发布的支持Solr 7的Cloudera CDH 6版本。

观察结果:性能,功能和用例

根据经验,评估可以为帮助客户定义策略和实施路线图提供巨大的价值。在评估过程中,我们使用搜索引擎比较矩阵,根据特定客户的优先级,采用加权评分机制,根据特定客户的需求和用例评估搜索引擎的适用性。基于此分析,在为搜索引擎提出整体建议时,有一些共同的功能和用例可作为关注点。




在Solr和Elasticsearch之间选择?考虑这些

决定哪种搜索引擎最适合您的特定用例和需求,不应基于“非此即彼”的假设。Solr中特定功能的总体重要性可能超过Elasticsearch中的运营优势,例如:

在一个客户端的情况下,与Solr部署相关联的开销以及必须使用SolrNET的过期客户端(当时)的开销被Solr的可插入性所抵消。需要使用自定义加密更新和请求处理程序,才能使用旋转数据加密密钥对索引内容进行加密,从而需要在Elasticsearch上使用Solr。索引加密过程所需的功能无法在Elasticsearch中有效实现。

相反,在不考虑大数据或分析因素的情况下,针对一般搜索用例评估搜索引擎选项时,由于减少了维护和部署的开销以及用于完全托管和托管环境的选项,Elasticsearch成为更受欢迎的选项。

在某些情况下,根据对客户最重要的因素,尽管应用了计分规则,但尚不清楚哪个搜索引擎(包括商业引擎)最能满足客户的需求。在这种情况下,可以使用样本数据集进行“烘焙”,以评估每个引擎在一组特定用例中的表现,从而对客户进行评估。

归根结底,Solr和Elasticsearch都是强大,灵活,可扩展且功能强大的开源搜索引擎。总体用例和业务需求,以及所需的功能,操作注意事项以及与新的认知搜索和分析功能的集成,最终将决定您选择Solr还是Elasticsearch。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
监控 搜索推荐 数据挖掘
一文快速了解Elastic Search 开源搜索引擎(技术选型+启动命令)
一文快速了解Elastic Search 开源搜索引擎(技术选型+启动命令)
54 0
|
5月前
|
存储 自然语言处理 搜索推荐
深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
首先,我们介绍了Elasticsearch(ES)的倒排索引,这是一种用于快速检索的数据结构。其次,我们了解了ES集群的架构,包括主节点、数据节点和协调节点的功能和作用。然后,我们探讨了中文分词器的选择,其中包括IK、HanLP和Jieba等常用的分词工具。接着,我们解释了写入数据和查询数据的工作原理,包括请求的分配和预处理,数据的存储和查询结果的处理过程。最后,我们讨论了ES部署的优化方法,包括调整JVM内存、分片布局和数量、节点身份设计以及配置Ingest节点等方面的策略。
深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
|
8月前
|
存储 搜索推荐 数据挖掘
深入探索Elasticsearch搜索引擎:高效搜索和分析的利器
在现代信息时代,数据量爆炸式增长,如何高效地搜索、分析和检索数据成为了一个重要的挑战。Elasticsearch作为一款分布式、实时搜索和分析引擎,为我们提供了强大的解决方案。本文将深入探讨Elasticsearch的基本概念、特点,以及如何在实际应用中应用它来实现高效的搜索和分析。
82 1
|
9月前
|
自然语言处理 搜索推荐 关系型数据库
Elasticsearch搜索引擎原理理解通俗易懂
记得小马最早期刚参加工作的时候全文索引用的是Sphinx。 当一个功能需要对表中的text varchar等文本进行like查询时,MySQL全表扫描很慢,需要Sphinx。Sphinx能解决性能和中文分词问题。
105 1
Elasticsearch搜索引擎原理理解通俗易懂
|
10月前
|
存储 监控 负载均衡
大数据数据存储的搜索引擎Elasticsearch的调优的集群部署优化
Elasticsearch是一个可扩展的搜索引擎,可以在同一个集群中部署多个Elasticsearch节点,以提高性能和可用性。
84 2
|
19天前
|
数据可视化 索引
elasticsearch head、kibana 安装和使用
elasticsearch head、kibana 安装和使用
|
1月前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
113 0
|
2月前
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
4月前
ElasticSearch-Head浏览器插件离线安装
ElasticSearch-Head浏览器插件离线安装
91 0
|
18天前
|
JSON Unix Linux
Elasticsearch如何安装
Elasticsearch如何安装

热门文章

最新文章