Elasticsearch整体架构解析总结升级版

总体架构图

Elasticsearch整体架构解析总结升级版_第1张图片

1.整体上看一个es集群,一个es集群由多个节点组成

2.es一个数据索引由多个分片组成,并且分布在es各个节点中

3.es分片又由P(主)分片和R(副)分片组成

4.主分片可以读写,副分片只能提供读的功能

5.索引一创建,主分片不可改变(参考数据路由算法),副分片可以增加或者减少

单个分片架构图

Elasticsearch整体架构解析总结升级版_第2张图片

1.一个分片内部包含几种文件,segment,commit point,translog,.del文件

2.segment可以理解为一个倒排索引,数据全部存在里面,并且是倒排索引结构(索引即数据)

3.commit point 记录已经写到磁盘的segment

4.translog存放数据写的日志,可以用来恢复数据使用

5.del文件用来记录segment中更新和删除了的数据,这样不会修改segment数据,提高写的并发

6.segment会定期合并,合并期间,结合del文件,去除不需要的数据(segment重写)

单个segment结构(倒排索引)

1.Inverted Index
Elasticsearch整体架构解析总结升级版_第3张图片
a.这是我们比较关注的部分,也是我们意义上理解的倒排索引

b.文档写入前会进行分词,分成上面这种关键字和文档id对应的关系,并且关键字是排序了的

c.当我们搜索,也就是读,就可以根据关键字,很快找到文档id

2.Stored Fields

Elasticsearch整体架构解析总结升级版_第4张图片
这部分会存储文档的id和数据字段关系,相当于原始数据

3.Document Values
将文档的字段同一列数据进行列式存储,可以快速解决排序,聚合,发挥列式存储优势

你可能感兴趣的:(elasticsearch,搜索引擎)