1、删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更。
2、磁盘上的每个段都有一个相应的.del 文件。当删除请求发送后,文档并没有真的被删除,而是在.del 文件中被标记为删除。该文档依然能匹配查询,但是会在结果中被过滤掉。当段合并时,在.del 文件中被标记为删除的文档将不会被写入新段。
3、在新的文档被创建时,Elasticsearch 会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del 文件中被标记为删除,新版本的文档被索引到一个新段。旧版本的文档依然能匹配查询,但是会在结果中被过滤掉。
详细描述一下 Elasticsearch 更新和删除文档的过程。
Elasticsearch中的文档被视为不可变,删除和更新实际上是通过标记和新建版本实现。删除操作并不真正移除文档,而是将其标记在.del文件中,合并段时才会实际剔除。更新文档时,旧版本被标记删除,新版本被索引到新段。此机制确保了数据一致性并优化了性能。

被折叠的 条评论
为什么被折叠?



