ElasticSearch之分片相关概念segment,merge,refresh等

写在前面

本文看下分片相关概念,segment,merge,refresh等。

1:segment,commit point,.del

一个倒排索引的文件称为segment,多个segment组合在一起就是lucene的index,也就是es的shard。在lucene中有一个文件叫做commit point,用来记录所有segment的信息。删除的数据并不会真正删除,而是记录在.del文件,参考下图:
在这里插入图片描述

2:refresh,transaction log

写入文档时并不会直接写入到segment中,而是同时会写入到index buffer(内存)和transaction log(磁盘,数据不丢失)中,然后index buffer中的数据,默认每隔1秒(refresh.index_interval配置)刷新到segment中,这个操作叫refresh,但不执行fsync,refresh后数据就可以被搜索到了(这也是为什么es被称为近实时搜索系统)。具体参考下图们:

  • 1
    在这里插入图片描述
  • 2
    在这里插入图片描述

3:flush

强制落盘操作,index buffer会写入segment,并会fsync,transaction log也会清空,默认30分钟执行一次,具体如下图:
在这里插入图片描述

4:merge

将多个segment合并为1个的操作,如下:
在这里插入图片描述

写在后面

参考文章列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值