Elasticsearch概念理解

参考《终于有人把Elasticsearch原理讲透了》- 知乎,小史和老师故事,情节紧凑,承上启下,中心思想明确!!!非常好,树立大拇指!!!

目录

1、反向索引

2、搜索引擎原理

3、Elasticsearch 简介 

3.1 分布式搜索引擎。

3.2 索引、类型和文档

3.3 Elasticsearch 分布式原理

3.4 典型应用-ELK 日志分析系统


1、反向索引

反向索引又叫倒排索引,是根据文章内容中的关键字建立索引。

问题:索引量爆炸,如果文章很长,索引量会非常多。

方法:压缩

2、搜索引擎原理

搜索引擎原理就是建立反向索引。

搜索引擎三大步骤:

3、Elasticsearch 简介 

3.1 分布式搜索引擎。

Elasticsearch 在 Lucene 的基础上进行封装,实现了分布式搜索引擎。

3.2 索引、类型和文档

Elasticsearch 中的索引、类型和文档的概念比较重要,类似于 MySQL 中的数据库、表和行。

索引是存放数据的地方,可以理解为MySQL的的一个数据库。

类型是用来定义数据结构的,你可以认为是 MySQL 中的一张表。

文档就是最终的数据了,你可以认为一个文档就是一条记录。

比如一首诗,有诗题、作者、朝代、字数、诗内容等字段,那么首先,我们可以建立一个名叫 Poems 的索引,然后创建一个名叫 Poem 的类型,类型是通过 Mapping 来定义每个字段的类型。

此时,诗题、作者、朝代都是 Keyword 类型,诗内容是 Text 类型,而字数是 Integer 类型,最后就是把数据组织成 Json 格式存放进去了。

注意:Keyword 类型是不会分词的,直接根据字符串内容建立反向索引,Text 类型在存入 Elasticsearch 的时候,会先分词,然后根据分词后的内容建立反向索引。

建立索引:

Elasticsearch 把操作都封装成了 HTTP 的 API,我们只要给 Elasticsearch 发送 HTTP 请求就行。

比如使用 curl -XPUT 'http://ip:port/poems',就能建立一个名为 Poems 的索引,其他操作也是类似的。

3.3 Elasticsearch 分布式原理

Elasticsearch 也是 Master-slave 架构,也实现了数据的分片和备份。

Elasticsearch 也是会对数据进行切分,同时每一个分片会保存多个副本,其原因和 HDFS 是一样的,都是为了保证分布式环境下的高可用。

在 Elasticsearch 中,节点是对等的,节点间会通过自己的一些规则选取集群的 Master,Master 会负责集群状态信息的改变,并同步给其他节点。 

只有建立索引和类型需要经过 Master,数据的写入有一个简单的 Routing 规则,可以 Route 到集群中的任意节点,所以数据写入压力是分散在整个集群的。因此,不应影响速度。 

3.4 典型应用-ELK 日志分析系统

Elasticsearch 一个典型应用就是 ELK 日志分析系统。

很多公司都用 Elasticsearch 搭建 ELK 系统,也就是日志分析系统。其中 E 就是 Elasticsearch,L 是 Logstash,是一个日志收集系统,K 是 Kibana,是一个数据可视化平台。

比如系统运行过程中,突然出现了异常,在日志中就能及时反馈,日志进入 ELK 系统中,我们直接在 Kibana 就能看到日志情况。如果再接入一些实时计算模块,还能做实时报警功能。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值