首页 > 资讯 > > 正文

【ES三周年】通过Elasticsearch来搭建搜索引擎 全球快消息

2023-02-17 12:10:29 来源:腾讯云

前言

众所周知,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带来的新技术变革!

【ES三周年】通过Elasticsearch来搭建搜索引擎 全球快消息

Elasticsearch也简称为ES,其实就是一个实时搜索和分析引擎,它可以近乎实时的数据存储、检索与分析数据...

2023-02-17 12:10:29

全球观察:恩捷股份董秘回复:公司已构建了较完善的专利体系,不仅公司拥有多项自主研发专利

恩捷股份(002812)02月17日在投资者关系平台上答复了投资者关心的问题。

2023-02-17 10:54:06

雪瑞姑姑是明星吗_雪瑞姑的个人资料身高体重-全球新要闻

1、个人资料未曾对外公布。2、抖音雪瑞姑原来是个上班族。3、2020年,镜头前这个永远美丽、从容的女人,...

2023-02-17 08:45:36

中国商飞集团股票_中国商飞股票

1、600615是st丰华。2、根本不是中国商飞。本文就为大家分享到这里,希望小伙伴们会喜欢。

2023-02-17 04:57:31

家访家长反馈意见简短_幼儿园家访家长反馈

1、首先要感谢老师对孩子的教导,再次由衷的感谢老师在学习中对孩子的帮助。2、其实学校提供的这个平台,...

2023-02-17 01:03:50

鲜食玉米变身增收“金棒棒”

装箱、出库、装车……春节之后,巴彦淖尔市磴口县包尔盖农场扶贫产业园内的内蒙古沃原农牧业发展有限公...

2023-02-16 20:59:13

【环球速看料】hbsab是什么意思_hbsab阳是什么意思

1、很多人去医院化验或体检时,都会碰到乙肝化验显示hbsab弱阳性,那?hbsab弱阳性说明什么意思呢?实在...

2023-02-16 18:49:13

焦点关注:撑不住了!美国会预算办公室:最快7月发生债务违约

中新网2月16日电综合美媒报道,美国国会预算办公室当地时间15日表示,如果国会无法尽快解决债务上限问题...

2023-02-16 16:57:21

今年地方政府打算卖多少地?

和2022年预算相比,大多数省份对今年卖地收入的预期仍然较低,压降幅度多在10%-30%之间。记者樊旭2022年...

2023-02-16 15:13:26

避孕套什么时候大量普及_安全套能防止哪些病

1、在同房过程中,如果男性佩戴避孕套避孕,可以达到很好的避孕效果,预防性病,如淋病、梅毒、尖锐湿疣...

2023-02-16 13:00:07

单反镜头焦距什么意思

单反镜头焦距什么意思,镜头焦距,是指镜头光学后主点到焦点的距离,是镜头的重要性能指标。镜头焦距的...

2023-02-16 11:01:57

当前热讯:今日苹果手机怎么连接到苹果电脑_苹果手机怎么连接到电脑【详细教程】

1、打开搜狗浏览器。2、搜索itunes,在搜索结果中下载itunes。3、等待下载成功后安装好itunes软件。4、准

2023-02-16 11:01:23

微软的竞争对手Notion的Loop应用程序现在处于私人预览阶段 环球观速讯

微软正在与竞争对手合作开发Notion协作和项目管理应用程序,并为其可嵌入的Loop组件添加更多功能。一年...

2023-02-16 09:04:59

环球热头条丨pdfmaker文件遗失怎么办?Win7 pdfmaker文件遗失解决方法-系统之家

在使用电脑的过程中,我们偶尔会碰到一些问题,比如在打开AdobeAcrobat9 0Professional创建DOC文件到PD...

2023-02-16 08:54:00

钱雁秋梁冠华_钱雁秋|全球视点

1、钱雁秋,神探狄仁杰系列导演,通常自己也扮演一个反面角色。2、妻子嘛,有,大家都叫她:钱妻。本文...

2023-02-16 05:55:13

呢组词有哪些的读法

一、关于呢组词有哪些的读法1、读法:[ne]2、读法:[ní]二、关于呢组词有哪些的释义3、[ne]释义:1

2023-02-16 05:47:07

戴尔n4030_戴尔n4030

戴尔是一家财富500强公司,以生产和设计电脑而闻名。总部设在美国,成立30多年。同时,戴尔也是以人命名...

2023-02-16 02:58:03

全球热点评!日计息月复利什么意思

日计息月复利一般是出现在保险单中,其中日计息就是只要保单存在,那么公司每一天都会给客户计算利息,...

2023-02-16 01:24:01

家里这物过大不招财反而漏财

风水之中,家宅自有招财之物,然其中讲究繁多,那家里这物过大不招财反而漏财是何物呢?家里这物过大不...

2023-02-15 23:53:57

永州江华:山坡上的“理发师”|天天速讯

作业中的“美发师”。红网时刻新闻2月15日讯(通讯员杜新伟)“看隧道口的地形,中间坡面是汇水面,这里...

2023-02-15 22:09:38

鼠曲草的吃法 鼠曲草的吃法简述 环球热门

鼠曲草吃法:1、将鼠曲草洗净后加入热水里煮加入一勺的小苏打。待其煮烂后沥水捞出放入已经混合好的米粉...

2023-02-15 20:20:55

抓好粮食和重要农产品稳产保供

近年来,我国粮食连年丰收,粮食产量连续8年稳定在1 3万亿斤以上,14亿多中国人的饭碗端得更稳、更好、...

2023-02-15 20:00:07

武汉开放大学普通话考试报名条件+报名时间+所需材料|世界热文

最新消息:武汉市普通话培训测试站因10月份的测试名额已经报满,经研究并请示上级同意,自9月26日起暂停...

2023-02-15 17:51:35

笔记本怎么看电池损耗 如何查看笔记本电池的损耗情况? 世界热点

1、方法一(1)如果仅仅是看笔记本电池容量,可以通过查阅笔记本说明书或者百度查找具体型号的笔记本参...

2023-02-15 17:33:06

荷兰媒体 受益于无疫情限制农历新年,中国酒店业迅速回暖 前沿热点

荷兰酒店业媒体HospitalityNet2月13日文章,原题:中国酒店受益于三年来首次无疫情限制的农历新年,亚太...

2023-02-15 16:58:00

2023博鳌防灾减灾大会举办

消息称蔚来手机将很快上市_今日关注

基金一般是什么时候分红的-天天观点

世界要闻:西安财经大学行知学院是二本吗 西安财经大学行知学院到底怎么样呢

演出预告 | 普陀区文化惠民工程苏州河系列公益演出——海派精品杂技魔术曲艺展演_世界观天下

观察:《窃读记》读书笔记300字10篇

建基地搭平台 湖北扶持新侨创新创业

行政诉讼第三人上诉的内容 天天时快讯

消息!2022年重庆高考本科专科分数线_重庆2022高考分批次分数线

北京站_说一说北京站的简介

超级恐怖的灵异鬼故事

两次欧冠决赛不敌巴萨,纳尼:我们太专注防守梅西却忘了其他人 当前热讯

win7旗舰版激活教程 天天观焦点

早茶出山记

重庆市大渡口区下周停电通知!涉及八桥镇、跳磴镇等地|快看

初中语文阅读理解答题技巧方法

慧博云通(301316)龙虎榜数据(02-14)

当前滚动:Match Fashion聘请John Mooney担任执行创意总监

环球关注:各地区dns_国内各省市首选dns地址大全

朱自清的生平资料

【世界新要闻】揪心!12岁双胞胎兄弟放羊失联4天!搜救范围正不断扩大…官方回应

实时焦点:公对公申请函模板_公对公函模板

世界热头条丨长途跋涉成语的解析及近义词

国产新冠治疗用药全部纳入医保

环球关注:报考民办学校自招有哪些优势?岛城教育专家为你解析

x 广告
x 广告

Copyright @  2015-2022 海峡家电网版权所有  备案号: 皖ICP备2022009963号-10   联系邮箱:396 029 142 @qq.com