倒排索引原理学习笔记

segment

segment即是倒排索引,
特点是只能 合并或者删除,不能修改

每一次refresh会产生一次 segment, 然后合并存储。

每个搜索请求需要访问所有segment,

参数 说明
index.merge.policy.floor_segment 默认2MB,小于该值的segment优先被合并
index.merge.policy.max_merge_at_once 默认10,一次最多合并多少segment
index.merge.policy.max_merged_segment 默认5GB,超过该值的segment不合并
index.merge.policy.max_merge_at_once_explicit 显式调用一次最多合并多少个segment

refresh: 将document转换为segment的过程,在ES中数据会从index-buffer到filesystem-cache的过程。

倒排索引主要分两个部分
单词词典
倒排文件

es写入工作流程

在这里插入图片描述

先写入内存 buffer,在 buffer 里的时候数据是搜索不到的;同时将数据写入 translog 日志文件。

如果 buffer 快满了,或者到一定时间,就会将内存 buffer 数据 refresh 到一个新的 segment file 中

但是此时数据不是直接进入 segment file 磁盘文件,而是先进入 os cache 。这个过程就是 refresh。

每隔 1 秒钟,es 将 buffer 中的数据写入一个新的 segment file,每秒钟会产生一个新的磁盘文件 segment file

这个 segment file 中就存储最近 1 秒内 buffer 中写入的数据。

但是如果 buffer 里面此时没有数据,那当然不会执行 refresh 操作

如果 buffer 里面有数据,默认 1 秒钟执行一次 refresh 操作,刷入一个新的 segment file 中。

操作系统里面,磁盘文件其实都有一个东西,叫

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值