参考答案
Elasticsearch 更新和删除文档的过程:
1、删除和更新都是写操作。但是, Elasticsearch 中的文档是不可变的,因此,它不能被删除或改动以展示其变更;
2、磁盘上的每个段都有一个相应的 .del 文件。当删除请求发送后,文档并没有真的被删除,而是在 .del 文件中被标记为删除,该文档依然能匹配查询,但是会在结果中被过滤掉。当段合并时,在 .del 文件中被标记为删除的文档,将不会被写入新段。
3、在新的文档被创建时,Elasticsearch 会为该文档指定一个版本号,当执行更新时,旧版本的文档在 .del 文件中被标记为删除,新版本的文档被索引到一个新段。旧版本的文档依然能匹配查询,但在结果中会被过滤掉。
以上,是 Elasticsearch 搜索面试题【Elasticsearch 更新和删除文档的过程是怎样的?】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—