繁体   English   中英

ElasticSearch 合并操作会重置文档的 _version 号吗?

[英]Will ElasticSearch merge operation reset the _version number of a document?

我正在使用 ElasticSearch 6.3 版本。 在一个索引中,我观察到超过 1000 个超过 1 个月的文档的 _version 号大于 1000。一个文档包含 S3 文件的元数据,例如密钥和其他信息,

文档的 _version 号也与文档对应的 S3 文件的版本号相匹配。

我的问题是:

  1. 为什么这些旧文档仍然保持相同数量的版本而不受合并段操作的影响?

  2. 我对合并段操作的理解是它还应该将 _version 字段重置为 1。对吗?

我期待着您的回答。

首先需要了解Elasticsearch中什么是合并操作:

从主要的Elasticsearch 文档来看,它不太清楚,但让我补充一下,它实际上是对旧删除的文档进行硬删除,所以如果一个文档被多次更新,那么它的版本就会一直更新,但 Elasticsearch 只是这样做在更新时软删除并在段合并时清除(硬删除)它们(由于段的不可变性质)。

现在回答你的问题很容易

1.为什么这些旧文档仍然保持相同数量的版本而不受合并段操作的影响?

Ans: 这些文件可能是某些大段的一部分,或者由于基础设施问题合并 API 正在限制它们。

2.我对合并段操作的理解是它也应该将_version字段重置为1。对吗?

Ans: 没有合并操作只是将较小的段合并到大的段中,并对已软删除的文档进行硬删除,根本不改变_version字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM