在阅读了大量文档之后,我了解到primary_term和sequence_number一起用于乐观并发控制,以防止文档的旧版本覆盖较新的文档。但是,我的问题是primary_term到底是什么?它和主要分片一样吗?

最佳答案

docs:

假设您的索引由5个主要分片组成(这是版本7之前的默认值)。针对主要分片执行索引和更新请求。如果您有多个主要分片,elasticsearch可以将传入的请求(例如巨大的批量请求)并行化/分配给多个分片,以提高性能。
因此, primary_term 提供有关执行/协调更改/更新的主分片(在此示例中为#1,#2,#3,#4或#5)的信息。

08-07 21:25