68.document增删改原理

主要知识点

  • document增的原理
  • document删的原理
  • document改的原理

   

一、document增的原理

一个document存入es大致要分以下几个步骤

1)数据写入buffer

2)写入buffer的数据在达到一定条件(时间等)进行commit point(提交点)

3buffer中的数据经过commit 写入新的index segment

4index segment的数据在达到一定条件后写入os cache中,

5)达到一定条件后os chche中的数据被fsync强制刷到磁盘上,完成保存到磁盘后,新的index sgement被打开,供search使用,并且buffer被清空

   

 

二、document删的原理

每次commit point时,会有一个.del文件,标记了哪些segment中的哪些document被标记为deleted了,在搜索的时候,会依次查询所有的segment,从旧的到新的,比如被修改过的document,在旧的segment中,会标记为deleted,在新的segment中会有其新的数据。对于匹配到的document,如果发现已经在.del文件被标示为deleted了,就不会作用结果返回。

   

三、document改的原理

es的修改或更新其实是分两部进行了,先删除,再增加。

   

四、其他

es底层用的是lucen,lucen底层的index分为多个segment,每个segment存放部分数据。

`

posted @ 2018-02-27 09:16  outback123  阅读(194)  评论(0编辑  收藏  举报