Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 认知

  • 入门

  • 环境

  • 进阶

  • 框架集成

  • 优化

  • 面试题

    • 为什么使用Elasticsearch
    • ES中master的选举流程
    • ES中的脑裂问题
    • ES索引文档的流程
    • ES更新和删除文档的流程
    • ES搜索的流程
    • Linux部署ES优化点
    • 关于GC需要注意的点
    • 大数据量聚合实现
    • 并发下保证读写一致
    • 关于字典树
    • 关于倒排索引
    • ES基本组成
  • Database-Elasticsearch
  • 面试题
Shetengteng
2022-02-05

ES更新和删除文档的流程

删除和更新都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更

磁盘上的每个段都有一个相应的.del 文件。当删除请求发送后,文档并没有真的被删除,而是在.del文件中被标记为删除。该文档依然能匹配查询,但是会在结果中被过滤掉。当段合并时,在.del 文件中被标记为删除的文档将不会被写入新段

在新的文档被创建时, Elasticsearch 会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del文件中被标记为删除,新版本的文档被索引到一个新段,旧版本的文档依然能匹配查询,但是会在结果中被过滤掉

Last Updated: 2022/03/20, 10:04:55
ES索引文档的流程
ES搜索的流程

← ES索引文档的流程 ES搜索的流程→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式