【ES三周年】通过Elasticsearch来搭建搜索引擎-新动态 - 行业资讯 -

当前位置:首页  >  行业资讯  > 正文

【ES三周年】通过Elasticsearch来搭建搜索引擎-新动态

【ES三周年】通过Elasticsearch来搭建搜索引擎-新动态
2023-02-15 17:59:56 来源:腾讯云

前言

众所周知,Elasticsearch是一款基于Lucene库的开源的实时搜索和分析引擎,它不仅可以大规模的索引文档且允许外界能够搜索到这些文档,而且能够非常快速的对这些文档进行分析操作。尤其是在大数据领域里面的存储和搜索与分析的协作操作,而且Elasticsearch可以被Hadoop集成,虽然Elasticsearch是基于Lucene构建的,但是它的应用领域非常的宽泛,其他方向暂且不提,本文就来分享一下Elasticsearch的工作原理,以及通过Elasticsearch来搭建搜索引擎的大概流程。

什么是Elasticsearch?

Elasticsearch也简称为ES,其实就是一个实时搜索和分析引擎,它可以近乎实时的数据存储、检索与分析数据。ES是一个基于开源的可高扩展的分布式全文搜索引擎,它自身可扩展性非常好,可以扩展到能够处理PB级别的数据。ES是基于Lucene作为核心来实现所有搜索和索引的功能的,之所以这样做就是为了通过简单的RESTful API来隐藏Lucene的复杂性,进而让全文搜索成为一个简单的操作。

Lucene

在介绍Elasticsearch的工作原理之前,再来了解一下Lucene。Lucene也是一个开源的项目,它是由Doug Cutting开发基于Apache软件基金会4 jakarta项目组的一个子项目。Lucene是一个全文检索引擎工具包,它只是一个全文检索引擎的架构,主要提供完整的查询和搜索引擎,以及部分的文本分析引擎,但它不是一个完整的全文检索引擎。近几年非常的受欢迎,尤其是在Java信息检索程序库里的体现。Lucene与Elasticsearch的关系可以理解为:ElasticSearch是基于Lucene 做了进一步的封装和加强。


【资料图】

Elasticsearch的工作

上文介绍过Elasticsearch的核心是基于Lucene库,Lucene是一个基于Java 引擎用于优化文档存储的全文检索引擎工具包,它可以高效地实时搜索和分析与搜索项相匹配的文本项。选择使用Elasticsearch,不仅因为它提供的一个更为低层的Lucene引擎和简洁的REST API,而且非常好的可扩展性,以及支持插件和其他技术的集成。在使用Elasticsearch之前,需要搞懂它三个核心内容:索引、分片、类型。

1、索引(index)

在Elasticsearch中,一个索引表示一个拥有相似特征的文档集合。例如,可以由一个用户数据的索引构成,也可以由一个产品类目的索引,甚至还可以由一个订单信息的索引。一个索引是由一个名字来区分做标识(命名规则:必须都是小写英文字母),且需要对这个索引里面的文档进行搜索、索引、更新等操作的时候,都是根据该名字来进行操作的。

注意:在一个集群中,使用者可以创建任意的多个索引。

2、分片(shard)

分片,其实就是一个索引可以存储超过单个节点硬件限制的大量数据。例如,在一个拥有100亿文档的索引占了10TB的磁盘空间,而且任何一个节点可能没有这么大的磁盘空间来存储或单个节点处理搜索请求而响应太慢,通过使用Elasticsearch将索引划分为多片,这些片就叫做分片。当创建一个索引的时候,使用者可以指定想要的分片数量,每个分片本身就是一个功能完整并且独立的索引,而且该索引可以被放到集群中的任意节点上面。

3、类型(type)

类型其实就是在一个索引中,使用者可以定义的一种或者多种类型,一个类型是索引的一个逻辑分区或者分类,它的语义完全由使用者决定,一般会给具有一组相同字段的文档定义为一个类型。比如,运营一个技术博客社区,且将所有博客数据存储在一个索引里面,在这个索引中,可以为博客用户数据定义一个类型,再为博客数据定义另外一个类型,而且也可以为文章评论数据定义第三个类型,这些操作都是可以正常操作的。

示例

这里通过一个简单的例子来做Elasticsearch的使用介绍,上面介绍过Elasticsearch提供了一个非常简洁的REST API,使用者可以把文档写进Elasticsearch里面,它会自动构建索引,然后可以使用查询语句把这些文档返回。Elasticsearch其实也提供了SQL查询功能,但是局限性比较大,所以复杂的查询聚合必须要回到DSL中,但是DSL语法比较复杂,如下所示:

GET /_search{"query": {"bool": {"must" [{"match": { "title": "Search"}},{"match": { "content": "Elasticsearch"}},]}}}

再来做一个复杂一点的查询结果演示,具体如下所示:

GET /_search{"_shard": {"success": 4,"total":5,"failed":1},"query": {"bool": {"must" : [{"match": { "title": "Search"}},{"match": { "content": "Elasticsearch"}},],"filter" : [{"team": { "status": "publish"}},{"range": { "publish_time": {"gt" : "2023-02-14"}}},]}}}

上面的查询结果示例还是较为简单的,在实际开发中还有更复杂的查询,尤其是数据嵌套多层,这里就不在做结果演示了。因为还有好多本文没有介绍到,或者使用者还没有使用到的搜索技术,可以去Elasticsearch的官方文档中查找即可,这里就不再一一赘述。

Tips

1、其实,Elastic官方有很多优质的博文,但是大部分开发者因为它们是英文的原因而忽略了,其实不能这样做,因为Elastic官方的这些文章有很多关键的实现过程以及原理,图文并茂,虽然是英文但是认真去读会发现写的很棒,所以作为使用者一定要克服英文的障碍去认真阅读这些文章。

2、还有就是,腾讯云提供的Elasticsearch Service云产品非常的不错,它是基于开源引擎打造的云端全托管 ELK 服务,集成 X-Pack 特性、独有高性能自研内核、QQ 分词、集群巡检、一键升级等优势能力,引入极致性价比的腾讯自研星星海服务器,可以帮助用户轻松管理和运维集群,高效构建日志分析、运维监控、信息检索、数据分析等业务。所以腾讯云的Elasticsearch Service很值得去体验、学习和使用。

3、Elasticsearch其实也是基于其他产品来研发的,借鉴了很多比较好的设计思想,也集成了很多算法设计,虽然官方的文档在技术原理方面讨论的不太深,基本都是点到为止,但是使用者要想深入了解和学习,必须通过其他途径去深入。

拓展:Hadoop集成

最后再来了解一下Hadoop集成的好处,Hadoop集成最大的好处就是Elasticsearch通过构建Elasticsearch-Hadoop让数据存储以及查询变得很简单,主要就是通过映射Hadoop分离的输入数据,Spark的分区到ES的分片上解决分布式数据模型的问题,因为可以减少数据拷贝操作,大大提高性能,而且数据能够在同一台机器上,那是因为Elasticsearch-Hadoop让与Hadoop和Spark进行数据交互操作,这样防止了不必要的数据通过网络进行传输操作。

附录

Elasticsearch官网:https://www.elastic.co/cn/downloads/elasticsearch

最后

通过本文关于使用Elasticsearch来搭建搜索引擎的简单介绍,想必读者会有所收获,Elasticsearch 自从诞生以来,它应用的地方越来越广泛,特别是在大数据领域,功能也越来越强大,而且Elasticsearch成名很早,技术栈功能特点也很多,现在也很完善,基本上各种学习资料都有,但是要想系统学习就要多去实践操作,因为只停留在理论上只能是纸上谈兵,所以要借助理论知识培养系统思想,结合实际实践来提高实践能力,双管齐下才能真正掌握Elasticsearch的使用。由于现在越来越多的实际场景应用了Elasticsearch ,而且呈现剧增的趋势,Elasticsearch会越来越受欢迎,让我们一起期待Elasticsearch带来的新技术变革!

标签: Elasticsearch Service ElasticsearchService Hadoop

(责任编辑:news01)
当前信息:白菜类黑斑病

当前信息:白菜类黑斑病

1、中文学名:白菜类黑斑病病原中文名:萝卜链格孢 病原拉丁学名:AlternariaraphaniG
02-10 02:46:36
天天观点:麦克风有电流怎么办_麦克风有电流怎么办

天天观点:麦克风有电流怎么办_麦克风有电流怎么办

现在是互联网时代,在我们的日常生活中,互联网发挥着越来越重要的作用。工作、学习、生活都离不开电脑...
02-10 02:28:54
幸存女孩的日记之邮箱里的信件(都市怪谈)

幸存女孩的日记之邮箱里的信件(都市怪谈)

xxxx年x月x日今天是我的生日,我独自去了小邵他们的酒店,室友则留在房间里,她打开电脑在敲着什么。我...
02-09 23:05:45
中国同学录网_关于中国同学录网的介绍

中国同学录网_关于中国同学录网的介绍

1、中国同学录创办于1998年5月4日,是国内最早创办的第一家以同学用户数据为基础的专业综合类网站,是一...
02-09 22:54:25
天天消息!安利一波无法抗拒的 自己制作的创意礼物

天天消息!安利一波无法抗拒的 自己制作的创意礼物

很多小伙伴们都会赠送一款小礼品来增强一下彼此的感情。安利一波无法抗拒的,大家是否在为送什么创意小...
02-09 20:10:59
当前滚动:97年属牛女最佳婚配年龄 25岁以后结婚合适

当前滚动:97年属牛女最佳婚配年龄 25岁以后结婚合适

结婚可不是一件儿戏,只有你变得成熟,责任心越来越强,会对你的另一半开始负责的时候,这样子结婚才会...
02-09 18:55:02
乌海市海南区:重点项目开工忙 奋力冲刺“开门红”

乌海市海南区:重点项目开工忙 奋力冲刺“开门红”

乌海市海南区:重点项目开工忙奋力冲刺“开门红”
02-09 18:18:22
无缘对阵皇马了..比达尔赛前晒对利雅得新月预热照,梅西点赞_每日短讯

无缘对阵皇马了..比达尔赛前晒对利雅得新月预热照,梅西点赞_每日短讯

直播吧2月8日讯世俱杯半决赛弗拉门戈2-3不敌利雅得新月,前巴萨球员比达尔所在的弗拉门戈无缘世俱杯决赛...
02-09 16:53:22
全球最新:win7游戏全屏怎么设置_win7游戏全屏

全球最新:win7游戏全屏怎么设置_win7游戏全屏

在Windows7系统下,人们用笔记本玩游戏时有时会发现屏幕中央两侧有黑条,用win7玩不了全屏游戏的问题在n...
02-09 14:54:56
世界最资讯丨黄发是个傻子全集剪辑_黄发傻子是什么电视剧

世界最资讯丨黄发是个傻子全集剪辑_黄发傻子是什么电视剧

解答:1、黄发傻瓜是电视剧《坐88路车回家》中的一个角色。《103010》是一部由执导,和刘主演的都市情感...
02-09 14:49:00
02月09日09时云南玉溪疫情数据 阳了以后为什么会腰疼?应该怎么办? 环球短讯

02月09日09时云南玉溪疫情数据 阳了以后为什么会腰疼?应该怎么办? 环球短讯

02月09日09时云南玉溪疫情数据阳了以后为什么会腰疼?应该怎么办?以下为详情!一、02月09日09时玉溪疫...
02-09 12:07:21
古代会宁是指现在的哪座城市 金上京会宁府遗址介绍-全球关注

古代会宁是指现在的哪座城市 金上京会宁府遗址介绍-全球关注

1、金代的“会宁府”,在今天指哈尔滨。2、金上京会宁府遗址属全国重点文物保护单位,位于黑龙江省哈尔...
02-09 11:05:10
新闻1+1丨土耳其强震,中国救援在行动!

新闻1+1丨土耳其强震,中国救援在行动!

2月8日晚间,中国救援队已经抵达土耳其受灾较为严重的哈塔伊地区。另外包括蓝天救援队、公羊救援队等我...
02-09 10:41:30
天天热推荐:欣贺股份2月9日打开涨停

天天热推荐:欣贺股份2月9日打开涨停

以下是欣贺股份在北京时间2月9日09:54分盘口异动快照:2月9日9点54分,欣贺股份盘中打开涨停,现报11 2...
02-09 09:28:29
观察:中山百强企业排名2020 中山企业100强名录

观察:中山百强企业排名2020 中山企业100强名录

中山百强企业排名2020中山企业100强名录排名公司名称1格兰仕(中山)家用电器有限公司2广东明阳风电产业集...
02-09 06:52:08
班得瑞最好听的20首曲子_班得瑞最好听的曲子

班得瑞最好听的20首曲子_班得瑞最好听的曲子

1、MELODYOFLOVE真爱NewMorning清晨THESOUNDSOF
02-09 06:48:09
今日热闻!国家级暴雪预警继续,大范围雨雪进入最强阶段!预报:30多省要下

今日热闻!国家级暴雪预警继续,大范围雨雪进入最强阶段!预报:30多省要下

国家级暴雪预警继续,大范围雨雪进入最强阶段!预报:30多省要下,降雪,降雨,暴雪预警,最高气温,中央气象台
02-09 04:10:48
2022全国新高考Ⅰ卷数学卷完整试题及答案一览最新

2022全国新高考Ⅰ卷数学卷完整试题及答案一览最新

6月8日,2022年全国高考进入第二天,部分省份高考将于今天下午结束,高考阅卷工作将启动,下面是小编为...
02-09 03:40:06
环球观速讯丨酱板鸭_酱

环球观速讯丨酱板鸭_酱

1、哥哥:お兄さん(oni-san叫自己的哥哥,叫不认识的年轻小伙子),お兄ちゃん(onichan叫自己的哥哥
02-09 01:45:39
好想好想歌词赵薇 全球观速讯

好想好想歌词赵薇 全球观速讯

你还记得情深深雨蒙蒙吗?那么赵薇唱的那首好想好想的歌曲你肯定听过?下面是学习啦!小编为你整理的这首歌...
02-09 00:06:27
全球速看:涟源农商银行召开2023年“开门红”工作推进会议

全球速看:涟源农商银行召开2023年“开门红”工作推进会议

涟源农商银行召开2023年“开门红”工作推进会议
02-08 23:08:22
万年县气象台发布大雾黄色预警信号【III级/较重】【2023-02-08】-即时看

万年县气象台发布大雾黄色预警信号【III级/较重】【2023-02-08】-即时看

万年县气象台发布大雾黄色预警信号【III级 较重】【2023-02-08】
02-08 21:18:38
天天动态:鬼雨作品_鬼雨

天天动态:鬼雨作品_鬼雨

1、一曰开天神斧,二曰监天御印,三曰九品莲台。2、四曰镇妖宝塔,五曰瀚海神舟,六曰乾坤锦囊。3、七曰...
02-08 20:00:12
英雄联盟为什么无法观战_LOL无法观战的原因分析 天天热资讯

英雄联盟为什么无法观战_LOL无法观战的原因分析 天天热资讯

LOL英雄联盟是一款受欢迎度越来越高的游戏,玩的人也越来越多,随之而来的就是游戏里的各种问题陆续出现...
02-08 19:56:29
明周道行梓橦帝君图轴_对于明周道行梓橦帝君图轴简单介绍 全球时讯

明周道行梓橦帝君图轴_对于明周道行梓橦帝君图轴简单介绍 全球时讯

1、明周道行梓橦帝君图轴是明代时期的文物。文章到此就分享结束,希望对大家有所帮助。
02-08 17:36:45
悍马糖干嘛的_悍马能量糖为什么不让卖

悍马糖干嘛的_悍马能量糖为什么不让卖

1、民企四川腾中重工收购不了悍马,不代表悍马就要停产。2、悍马的用处不在于民用还运用于军事上,它收...
02-08 17:07:47
环境保护从我做起主题班会教案精选十篇 环球今亮点

环境保护从我做起主题班会教案精选十篇 环球今亮点

所谓教案的艺术性就是构思巧妙,能让学生在课堂上不仅能学到知识,而且得到艺术的欣赏和快乐的体验。教...
02-08 15:51:43
今天最新消息 新疆石化企业成功开发高难度技术新品

今天最新消息 新疆石化企业成功开发高难度技术新品

独山子石化公司聚乙烯装置。常国敬摄中新网乌鲁木齐8月19日电(张杰成梦)8月19日,记者从中国石油独山子...
02-08 14:44:11
吉林艺术学院是几本大学_吉林艺术学院几本

吉林艺术学院是几本大学_吉林艺术学院几本

1、1、吉林艺术学院中,有二本,也有三本。2、2、但这几年在改革,一般本科院校,不是一本,就是二本(一...
02-08 13:46:42
十万个为什么读后感 微速讯

十万个为什么读后感 微速讯

十万个为什么读后感(精选31篇)读完一本经典名著后,大家心中一定有不少感悟,为此需要认真地写一写读...
02-08 11:57:32

为您推荐

精彩推送