云、分析和认知搜索时代的开源搜索引擎
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的观察结果:
SOLR | ELASTICSEARCH | |
---|---|---|
用例 |
|
|
可视化 工具 |
|
|
云和 大数据 |
|
|
认知 搜索 能力和 整合 |
|
|
管理和 运营 |
|
|
开发 架构 |
|
|
集群 状态 管理 |
|
|
安全 |
|
|
批量 索引 工具 |
|
|
近实时(NRT) 索引 |
|
|
分析 |
|
|
嵌套的 数据 结构 |
|
|
查询 操作 |
|
|
API 交互 |
|
|
选择Solr和Elasticsearch?考虑这些
决定哪个搜索引擎最适合您的特定用例和需求,不应该是基于“非此即彼”的假设做出的决定。Solr中某个特定功能的总体重要性可能超过Elasticsearch的操作优势,例如:
在一个客户端案例中,与Solr部署相关的开销和不得不使用过时的SolrNET客户端(当时)被Solr的可插拔特性所抵消。需要定制加密更新和请求处理程序来使用旋转数据加密键对索引内容应用加密,因此必须使用Solr而不是Elasticsearch。索引加密过程所需要的功能并不能在Elasticsearch中有效地实现。
相反,在不考虑大数据或分析的情况下,为通用搜索用例评估搜索引擎选项时,Elasticsearch成为了一个更受欢迎的选择,因为它减少了维护和部署开销,以及完全托管和管理环境的选项。
在一些基于什么对客户最重要的情况下,它不是立即清楚哪个搜索引擎(包括商业引擎)将最好地满足客户的需求,尽管应用了评分规则。在这种情况下,可以使用示例数据集执行“烘烤”,面向客户评估每个引擎对于特定用例集的执行情况。
归根结底,Solr和Elasticsearch都是功能强大、灵活、可扩展且极其强大的开源搜索引擎。总体用例和业务需求,以及您所需的特性、操作考虑,以及与新的认知搜索和分析功能的集成,将最终驱动您决定是选择Solr还是Elasticsearch。
本文:http://jiagoushi.pro/node/1145
讨论:请加入知识星球【首席架构师圈】或者小号【jiagoushi_pro】
最新内容
- 1 day 9 hours ago
- 1 day 12 hours ago
- 1 day 12 hours ago
- 4 days 4 hours ago
- 4 days 11 hours ago
- 4 days 12 hours ago
- 4 days 12 hours ago
- 4 days 12 hours ago
- 1 week 1 day ago
- 1 week 1 day ago