热搜词
节日
生活
知识
历史
科技
教育
城市
搜索
登录
评论
终于有人把Elasticsearch原理讲透了
# 科技
2019-10-21
46,402
来源: 一零一零(头条号)
Elasticsearch 简介
吕老师:但是 Lucene 还是一个库,必须要懂一点搜索引擎原理的人才能用的好,所以后来又有人基于 Lucene 进行封装,写出了 Elasticsearch。
Elasticsearch 基本概念
吕老师:类型是用来定义数据结构的,你可以认为是 MySQL 中的一张表。文档就是最终的数据了,你可以认为一个文档就是一条记录。
吕老师:比如一首诗,有诗题、作者、朝代、字数、诗内容等字段,那么首先,我们可以建立一个名叫 Poems 的索引,然后创建一个名叫 Poem 的类型,类型是通过 Mapping 来定义每个字段的类型。比如诗题、作者、朝代都是 Keyword 类型,诗内容是 Text 类型,而字数是 Integer 类型,***就是把数据组织成 Json 格式存放进去了。
吕老师:这个问题问得好,这涉及到分词的问题,Keyword 类型是不会分词的,直接根据字符串内容建立反向索引,Text 类型在存入 Elasticsearch 的时候,会先分词,然后根据分词后的内容建立反向索引。
吕老师:之前我们说过,Elasticsearch 把操作都封装成了 HTTP 的 API,我们只要给 Elasticsearch 发送 HTTP 请求就行。比如使用 curl -XPUT 'http://ip:port/poems',就能建立一个名为 Poems 的索引,其他操作也是类似的。
Elasticsearch 分布式原理
吕老师:没错,Elasticsearch 也是会对数据进行切分,同时每一个分片会保存多个副本,其原因和 HDFS 是一样的,都是为了保证分布式环境下的高可用。
吕老师:没错,在 Elasticsearch 中,节点是对等的,节点间会通过自己的一些规则选取集群的 Master,Master 会负责集群状态信息的改变,并同步给其他节点。
吕老师:注意,只有建立索引和类型需要经过 Master,数据的写入有一个简单的 Routing 规则,可以 Route 到集群中的任意节点,所以数据写入压力是分散在整个集群的。
ELK 系统
吕老师:其实很多公司都用 Elasticsearch 搭建 ELK 系统,也就是日志分析系统。其中 E 就是 Elasticsearch,L 是 Logstash,是一个日志收集系统,K 是 Kibana,是一个数据可视化平台。
吕老师:分析日志的用处可大了,你想,假如一个分布式系统有 1000 台机器,系统出现故障时,我要看下日志,还得一台一台登录上去查看,是不是非常麻烦?
吕老师:但是如果日志接入了 ELK 系统就不一样。比如系统运行过程中,突然出现了异常,在日志中就能及时反馈,日志进入 ELK 系统中,我们直接在 Kibana 就能看到日志情况。如果再接入一些实时计算模块,还能做实时报警功能。
总结
小史学完了 Elasticsearch,在笔记本上写下了如下记录:
反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。
搜索引擎原理就是建立反向索引。
Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。
Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。
Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。
Elasticsearch 一个典型应用就是 ELK 日志分析系统。
写完,又高高兴兴背诗去了。
1
ELK
日志分析
日志搜索
发表评论
您必须
[ 登录 ]
才能发表留言!
加载中...
喔客新知
5年前 (2019-10-21)
官方
文章写的太好了,通俗易懂。支持一下。
登录以回复
相关文章
ChatGPT爆火,人工智能到底是怎样“练成”的?
ChatGPT是个啥东西?
最近一直听说MagSafe,到底啥事MagSafe?
如何用 Kubernetes 实现 CI/CD 发布流程?
河南省相继成立三家省实验室!
前方高能,苹果秋季发布会!
最热浏览
暂无文章
微信扫一扫
猜你喜欢
【河南高校】郑州电力高等专科学校
【河南高校】河南测绘职业学院
【河南高校】黄河交通学院
【河南高校】新乡医学院三全学院
2024年河南省具有普通高等学历教育招生资格学校名单
教育部“阳光高考”平台开通“阳光志愿”信息服务系统
热门标签
龙门实验室
龙舟
龙湖现代免疫实验室
龙抬头
龙卷风
鼠标指针
黑色星期五
黑科技
黑枸杞
黑客
黄淮学院
黄河文化旅游节
黄河实验室
黄河交通学院
黄河主题旅游
文章写的太好了,通俗易懂。支持一下。