elasticsearch订单系统(技术选型Elasticsearch很强大单我选Solr)

云、分析和认知搜索时代的开源搜索引擎

Solr与Elasticsearch在我们的客户项目和企业搜索社区中经常讨论。但是随着传统的企业搜索已经发展成为Gartner所说的“洞察引擎”,我们重新讨论了这个主题,提供了结合云、分析和认知搜索能力的最新观察结果,以帮助您评估Solr和Elasticsearch。

Solr是什么?

Solr是Apache软件基金会Lucene项目的一个领先的开源搜索引擎。由于其灵活性、可伸缩性和成本效益,Solr被大型和小型企业广泛使用。

Elasticsearch是什么?

同样基于Lucene的Elasticsearch是另一个领先的开源搜索引擎,支持强大的企业应用程序。Elastic是一家开发Elasticsearch和Elastic Stack的公司,它为搜索、日志分析和其他高级分析用例提供企业解决方案。

选择您的开源搜索引擎

通常,当我们帮助客户执行有关在其企业解决方案中使用开源搜索引擎的评估时,会有人问:“Solr和Elasticsearch哪个更好?”虽然可能会有一种先入为主的观念,认为一个人天生就比另一个人好,但如果用“哪个对我更好?”这样的说法来表述,这个问题就更相关了。

有各种搜索引擎技术可用,但最流行的开源变体是那些依赖于Apache Lucene底层核心功能的技术,从本质上说,这是使搜索引擎工作的部分。Solr和Elasticsearch是搜索库之上的组件,它们为一个完整的搜索产品提供自己的实现和特性。Lucene的核心功能为Solr和Elasticsearch的基本搜索功能提供了相同的体验,但它们围绕Lucene的实现方法创造了不同之处。

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

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

这得视情况而定。

围绕一种技术而不是另一种技术的采用有许多用例。但是当被问到这个问题时,我通常会从操作管理的角度用一个类比来回答:“Solr就像Linux。Elasticsearch就像窗户。您可以对Solr进行大量的定制和定制,以满足您的需求,但是与Elasticsearch相比,管理和部署更加复杂,也更加耗费资源。Elasticsearch非常容易部署、管理和监控(使用X-Pack),具有设计良好的用户界面(Kibana),允许数据探索和创建分析可视化,但定制其功能有限,使用插件框架更加困难。

Elasticsearch可以为你,如果你想:
  • 运行迅速与很少开销得得到你的搜索引擎,
  • 尽快开始探索你的数据;和
  • 将分析和可视化作为用例的核心组件。
Solr可能适合你,如果你:
  • 需要对大量数据进行索引和再处理;
  • 有可用的资源来投资管理Solr和用于交互的工具;和
  • 拥有一个与Solr一起工作的现有企业框架(像其他Apache产品,如Hadoop,或企业框架,如构建在Hadoop上的Cloudera、Hortonworks或HDInsights)。

这并不是说一个Hadoop平台不能使用Elasticsearch(我们客户提出了这种情况),但一些平台,Cloudera尤其是Hortonworks,提供额外的工具和方法和管理中的Solr索引数据的生态系统(这是一个特殊的例子Cloudera即将发布的CDH 6支持Solr 7)。

Solr与Elasticsearch:特性比较

从经验来看,评估可以为客户定义战略和实施路线图提供巨大的价值。在我们的评估过程中,我们执行一个搜索引擎比较矩阵,它根据特定客户的需求和用例评估搜索引擎的适用性,并使用基于某些特性的优先级的加权评分机制。基于此分析,在对搜索引擎进行总体推荐时,有一些公共特性和用例可以作为感兴趣的点。

下面的图表展示了一些关于Solr和Elasticsearch的观察结果:

elasticsearch订单系统(技术选型Elasticsearch很强大单我选Solr)(1)

elasticsearch订单系统(技术选型Elasticsearch很强大单我选Solr)(2)

elasticsearch订单系统(技术选型Elasticsearch很强大单我选Solr)(3)

选择Solr和Elasticsearch?考虑这些

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

在一个客户端案例中,与Solr部署相关的开销和不得不使用过时的SolrNET客户端(当时)被Solr的可插拔特性所抵消。需要定制加密更新和请求处理程序来使用旋转数据加密键对索引内容应用加密,因此必须使用Solr而不是Elasticsearch。索引加密过程所需要的功能并不能在Elasticsearch中有效地实现。

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

在一些基于什么对客户最重要的情况下,它不是立即清楚哪个搜索引擎(包括商业引擎)将最好地满足客户的需求,尽管应用了评分规则。在这种情况下,可以使用示例数据集执行“烘烤”,面向客户评估每个引擎对于特定用例集的执行情况。

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

首席点评:

虽然ES很轻大,但是对于大型企业首先需要考虑的是风险,比如License变更,开源变闭源,高级功能只有企业版本才有,还有最近闹得沸沸扬扬的商业软件禁止某些企业使用,开源反而没事。

在同时满足业务的前提下我建议优先使用Apache,MIT,BSD License 的属于开源基金会所有的开源软件,可以降级安全,供应链,财务等风险。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页