elasticsearch的数据结构

es 的数据结构

当一段文档被写入 Elasticsearch(ES)时,其内部处理过程以及文件系统中新增的文件形态可以分为以下几个阶段:

  1. 文档写入:内存层处理
  • 写入内存缓冲区(Buffer)
    • 文档被接收到后,首先被解析为一个 JSON 格式的结构。
    • 文档的字段值会被分词(对于支持全文搜索的字段)或直接存储(对 于数值、日期等类型的字段)。
    • 分词后的字段生成倒排索引(Term Dictionary 和 Posting List),并存储在内存缓冲区中。
    • 与此同时,文档的原始 JSON 数据和元信息会被写入事务日志(Translog)。
  • 记录事务日志(Translog)
    • Translog 是一个顺序写入的日志文件,记录每次索引或删除操作,用于确保在系统宕机时数据不会丢失。
    • 文档写入成功后,ES 会立即刷新 Translog 到磁盘,这是一种“预写日志”(Write-Ahead Logging)策略。

  1. 数据刷新(Flush):生成分段文件
  • 触发刷新(Flush 或 Refresh)
    • 默认情况下,每隔 1 秒(可配置)或内存缓冲区接近容量时,ES 会将缓冲区中的数据刷新为一个新的段(Segment)。
    • 在刷新的过程中࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值