文档表明
_version
字段针对每个文档,并且每次更新文档时都会增加 1。在我的 ES 中查询数据后,我发现 _version
字段对于整个索引来说是全局的。 (看起来每个更新都被跟踪,所以我的文档的版本值有数千,单次更新后可以增加超过一,通常是一些随机数,我猜这与集群中的全局更新相关)
如何更改?
我的ES版本是7.14.0
编辑1: 我想我需要进一步澄清:
_search
之后我可以看到我的文档确实有类似"_version": 410084,
也许是因为我使用kafka-connect和elasticsearch接收器来放置来自kafka的文档?虽然我没有看到这个接收器有任何配置来自行管理版本
_version
字段是每个文档,我认为你对seq_no
感到困惑,它表示分片中的更新数量,是分片中更新数量的计数器,而且它不可写,即仅限Elasticsearch处理对 seq_no
字段的更新。
由于
_version
字段更新可以是外部的,即您也可以更新它的值,并且 如果您看到它的值增加超过 1,则意味着 Elasticsearch 没有更新它,并且您的应用程序中有人正在更新它,但在任何情况下它都与集群中的全局更新无关。
@再见@阿米特 我在 KafkaConnect 中通过 ElasticsearchSinkConnector 插入/更新文档时遇到了与 @ByeBye 相同的问题。
虽然文档没有更改那么多 _version 的数量,但 _version 太高了(例如 4123901)。