【ES三周年】通过Elasticsearch来搭建搜索引擎
前言
众所周知,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来搭建搜索引擎
- 何炅一家三口照片2016_何炅一家三口照片20
- 男子50元买的海怪竟是国保中华鲎 是“海洋活化石”!!
- 济缘算命赵明雷简介、分析明星事业运程推演突发事件
- 每日简讯:泰国“90后”女老板:“北漂”中国总遇新机遇
- 饭盒钩用法 巧用饭盒钩再也不用烦心了-当前消息
- 世界快看:强信心·开新局丨“花样”促消费 市场“别样红”——江西开年各地消费市场一线见闻
- “陷于”地产,合众人寿去年亏20.2亿,偿付能力再承压 全球快报
- 小黄人2撤档怎么回事 小黄人2什么时候上映_世界速看料
- 全球时讯:【财经分析】邮轮供应链本土化进程提速
- 普华永道、歌斐资产等联合发布《中国私募证券投资基金运营白皮书》_天天最资讯
- 环球观天下!爱奇艺和百度达成合作,爱奇艺将全面接入“文心一言”
- 中国生物:牛痘已封存以备不时之需 哪一年停止接种的
- 5换1交易!独行侠报价勇士全能前锋,库班为留欧文争冠开始豪赌 短讯
- 世界快消息!“超龄”家电应定期进行安全检查
- 佛陀经典语录精选60句
- 全球热推荐:上海新阳拟5.8亿元投建开发集成电路关键工艺材料项目 附走势分析
- 最新资讯:德云社的弟子们,应该向这两位郭德纲最喜爱的相声演员学习
- 每日速读!以离别为话题的优秀作文10篇
- 全球要闻:如何清洁缎面婚纱
- 世界今头条!海贼王最新实力排行Top20强
- 效应器是传出神经的神经末梢吗_效应器_环球热推荐
- 给清洁工人的一封信优秀范文 天天快报
- 天天热推荐:接吻时,对象嘴里的味道说明了……
- 外媒:欧洲争论新的基因育种技术|全球今头条
- 十大最奇特的动物眼睛
- 女生三十岁生日送什么礼物 环球时快讯
- 精选!多少安时等于一千瓦时_1安时等于多少千瓦时怎样换算
- 祖国在我心中诗歌作文
- 2022年清明节不放假违法吗 2022学校封校清明节会解封吗-热点评
- 起亚新K3起步11.29万,相比法系408,韩系显然还没认清形势
- 接入互联网的学校比例近100% 我国智慧教育基础设施设备环境基本建成 全球今亮点
- 【武侯区·赤焰日式烧肉】108元(限量前50份)/118元享双人餐烧肉套餐!中华海草+雪花牛板腱+精选牛胸肉+伊比利亚五花~
- 折现率计算公式 一文看懂折现率|最新快讯
- 每日焦点!给老师送的花
- 没熟的无花果能晒干吗 全球球精选
- 南海12海里是什么意思|快资讯
- 世界视讯!成年礼送什么礼物给女儿
- 北京:支持头部企业打造对标ChatGPT的大模型
- 世界时讯:网盘是什么意思怎么用
- 杭州一小区内污水管网满溢,专业清掏人员迅速赶到
- 南京公积金缴存基数2023是多少,2023南京公积金费用如何计算?
- 老白干酒董秘回复:合同负债主要是公司预收客户的货款,近年来新冠疫情在公司的主要销售区域反复发生
- 怀化市妇幼保健院:成为“启音博士千百十”计划项目建设重点单位
- “四小时睡眠法”科学吗?睡眠医学科医生回应
- 京剧舞蹈合唱精彩纷呈,保利上海城市剧院艺术团新春晚会落幕
- 大东方:三凤桥餐饮的客流随着市场的恢复而有序复苏
- vi设计素材下载_vi设计素材搜索王|今日精选
- 送男孩子什么礼物好
- 给妈妈送什么生日礼物
- 广州郊区房东很感慨!房租连降三年,有租客屡屡迟交租-世界观察
- 当前时讯:东兴区:勠力同心 砥砺前行 以实干促进经济社会高质量发展
- TIKI赛后|主场战胜都灵,三中卫阵型不是结束而是开始
- 今年送礼送什么茶-当前快播
X 关闭
最新资讯
- 当前速读:2021第一期《站桩入门班》报名中,限10个名额,微微一调使你站桩效果倍增
- 绝美!丽水一大波梅花即将盛放,快去打卡
- 原石抽常驻池子,体力全部梭哈圣遗物,这些“坑”你踩过几个? 全球热点
- 陪伴孩子成长的美好句子简短(共306句)
- 京东双11补货需要多久?为何会缺货? 天天快报
- 天天视点!学语文的意义和价值_语文的含义
- 今日热讯:新闻稿写作的时效性,三个方面可以体现!
- 当前滚动:一岁小孩过生日送什么礼物好
- 铆足干劲奋战“开门红” 海南重点项目建设忙|世界热点
- 环球热推荐:河南:力争月底前实现社会面清零
- 开展电商新业态培育工作,助力数字经济创业创新
- 微动态丨明朝晋王朱棡是怎么死的
- 02月10日09时四川自贡疫情数据 阳了以后为什么会腰疼?应该怎么办?|每日速讯
- 全球快讯:分页符_说一说分页符的简介
- 世界看热讯:辅仁药业走到悬崖边
- 成本管理的概念
- 全球观焦点:截止日汇总|KD威少换队 托布黑贝离队 佩顿戈登回家 怀斯曼去活塞
- 电脑笔记本性能排行_笔记本电脑性能排名 今日讯
- 宁波银行准备的生日礼物是什么|环球播资讯
- cf名字怎么打空格-天天聚看点
- 【世界报资讯】吴阿顺领衔五位中国选手参赛 刘晏玮本周继续出战欧挑
- 教你一招:春季赛版本已配置,各层次玩家如何最优抽卡?
- 车牌号测吉凶
- 好看的妆容千篇一律,不如试试时髦高级的雀斑妆吧,绝! 环球热头条
- 世界微资讯!乘联会:1月份国内狭义乘用车市场零售销量达129.3万辆,同比下降37.9%
- 什么是平方根的定义_什么是平方根
- 世界今亮点!梅花简笔画古风_梅花简笔画
- 世界速读:蒋家旻与神秘男士买家具疑似有新恋情旧爱与龚嘉欣也疑似谈恋爱
- 每日看点!家庭托儿所开办条件是什么 家庭式的托儿所怎么开办
- 澳报告:中国“重新开放”将在未来两年提高澳GDP0.4个百分点 今日视点
- 3000词读遍天下书床头灯英语学习读本2:巴斯克维尔猎犬
- 家庭做包子的方法 自制包子步骤
- 许愿的奶奶是谁_许愿的爸爸叫什么_当前热文
- 今日热门!顺丰快递过年停运吗_顺丰快递过年会不会停运
- 15个农村创业在家加工项目_今日报
- 明基EF71_对于明基EF71简单介绍
- 年终总结发言稿精选汇总-全球新资讯
- 梅西哥哥:梅西不会回巴萨,如果回去我们就要把拉波尔塔赶出去-环球时讯
- 红玫瑰歌曲张碧晨我是歌手在线试听_红玫瑰张碧晨歌词
- 【时快讯】怎么玩转QQ牧场
- 安宁:民意领跑警务 护航辖区安全稳定-环球头条
- 佳讯飞鸿全资子公司航通智能中标滁州保税物流中心智能化采购及安装项目
- 触动心灵的力量作文-全球要闻
- 环球消息!知乎-W午后涨幅一度扩大至57%,创历史新高
- 天天热资讯!2023年度贵阳美团到店事业部招聘信息
- 天天讯息:双飞股份董秘回复:双飞股份小功率风力发电滑动轴承已经通过顾客装机试验
- 中元节有哪些传统习俗
- 【全球聚看点】保护工业遗产、留住城市记忆!广西出台工业遗产管理办法
- J星球上的外星人事件 全球速看
- 《聊斋志异之白于玉》原文及译文_热门看点
X 关闭