ES是新增一条数据,与通过ID覆盖一条已存在的数据性能差异?

Elasticsearch | 作者 qyc | 发布于2018年11月20日 | 阅读数:1812

1.ES是新增一条数据,与通过相同ID覆盖一条已存在的数据性能差异?
2.新增一条ID相同的数据,会将原先那一条标记为删除,再新增一条?等段合并的时候再做删除? 这样是不是相比单纯的新增多了段合并删除的开销
已邀请:

novia - 1&0

赞同来自:

删除和更新也都是写操作。但是Elasticsearch中的文档是不可变的,因此不能被删除或者改动以展示其变更。那么,该如何删除和更新文档呢?
磁盘上的每个段都有一个相应的.del文件。当删除请求发送后,文档并没有真的被删除,而是在.del文件中被标记为删除。该文档依然能匹配查询,但是会在结果中被过滤掉。当段合并时,在.del文件中被标记为删除的文档将不会被写入新段。
接下来我们看更新是如何工作的。在新的文档被创建时,Elasticsearch会为该文档指定一个版本号。当执行更新时,旧版本的文档在.del文件中被标记为删除,新版本的文档被索引到一个新段。旧版本的文档依然能匹配查询,但是会在结果中被过滤掉。
 

要回复问题请先登录注册