elasticsearch _update_by_query with conflicts = proceed

问题描述 投票:0回答:1

当我使用_update_by_query而没有冲突选项时,它导致了version_conflict_engine_exception错误。

阅读this document,我发现conflict = proceed可以与请求一起传递以避免此错误。

虽然我对文档中的措辞感到困惑。我知道一旦指定了conflict = proceed,它就不会在发生版本冲突时中止。

但它会更新那些发生冲突的文档,或者它不会更新这些文档,并且只更新没有冲突的文档。

注意:我使用的是elasticsearch 5.6

elasticsearch
1个回答
0
投票

当文档在ID或映射或字段类型中不匹配时,会发生版本冲突。当单个文档发生冲突时,update_by_query将停止,并且对于该索引和下一个索引中的其余文档,更新将不可用。 (当然有些文档已经更新)如果你使用冲突=继续它不会只更新文档有冲突(只是跳过那个文档而不是整个索引)。

© www.soinside.com 2019 - 2024. All rights reserved.