企业级开源搜索引擎:Elasticsearch

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业级开源搜索引擎:Elasticsearch相关的知识,希望对你有一定的参考价值。

参考技术A Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。但是Lucene只是一个工具类库,且接口较为复杂。你必须先理解搜索引擎的工作原理,才能有效利用Lucene。ElasticSearch通过隐藏Lucene背后复杂的搜索理论知识,预设了搜索引擎默认的参数,只需要最少的理解,就能快速搭建出搜索引擎,开箱即用。

1. 索引(Index)

ElasticSearch的Index类似于关系型数据库的Database,用来存储各种类型的文档。一个索引应该是因共同的特性被分组到一起的文档集合。

以Google作为栗子,我们可以把Index理解为Google所抓取网页(文档)存储的地方。

2. 类型(Type)

Type类似于关系型数据库的Table,用来存储相似文档的地方。

以Google作为栗子,我们可以把网页、图片、视频等不同类型的搜索,存放在不同的Type里面。

3. 文档(Document)

Document类似于关系型数据库里面的Row,存储具体的一个对象。

ElasticSearch的文档是以JSON格式存储的。形如:

以Google作为栗子,一个网页就是一个文档。

4. 字段(Field)

Field类似于关系型数据库的Column,存储某一个具体的属性。

以Google作为栗子,网页的标题(Title)就是一个字段。

注意:

ElasticSearch的Type与传统关系型数据库的Table不一样的地方在于:同一个Index下的Type,名称相同的Field,类型要保持一致。

以Google作为栗子,当Google把网页类型的文档和图片类型的文档都存储在同一个Index下面时,假设网页和图片都有一个Title属性,那么在同一个Index下面,这两个属性的类型必须保持一致,比如必须都是String类型的。因为ElasticSearch更倾向于存储同构类型的文档。

下载安装包,并解压到/opt目录下

编辑elasticsearch.yml文件

vim/opt/elasticsearch-2.4.4/config/elasticsearch.yml

启动项目

安装head插件

打开浏览器访问页面:http://192.168.204.151:9200/_plugin/head/

搜索引擎选型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 vs. Elasticsearch:选择开源搜索引擎


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

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


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

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

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

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

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

 

原文:https://www.accenture.com/us-en/blogs/search-and-content-analytics-blog/solr-elasticsearch-open-source-search-engines

本文:http://jiagoushi.pro/node/906

讨论:请加入知识星球或者微信圈子【首席架构师圈】



如果喜欢仙翁的分享,请关注微信公众号【首席架构师智库】

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

仙翁小号

如果想进一步讨论,请加仙翁小号【intelligenttimes】,注明你希望加入的群:架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化,产品转型。

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

微信圈子

如果想和志趣相投的同好交流,请关注仙翁的微信圈子【首席架构师圈】。

如果想向大咖提问,近距离接触,或者获得私密分享,请加入知识星球【首席架构师圈】



以上是关于企业级开源搜索引擎:Elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章

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

华为宣布开源数据虚拟化引擎openLooKeng;成都新经济“双百工程”重点培育企业和优秀人才名单发布|5GAI业界资讯早班车

阿里巴巴官方低代码引擎开源!快速交付的神器

阿里巴巴官方低代码引擎开源!快速交付的神器

快速交付神器:阿里巴巴官方低代码引擎开源了,真牛X!!!

开源一个基于.netcore的企业级应用开发框架------FAP