具有冲突的Elasticsearch _update_by_query =已执行

时间:2019-03-12 08:55:48

标签: elasticsearch

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

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

尽管我对文档中的措词有些困惑。 我了解,一旦指定了冲突=进程,它就不会在版本冲突发生之间中止。

但是它会更新发生冲突的文档,还是不会更新那些文档,而只会更新没有冲突的文档。

注意:我使用的是Elasticsearch 5.6

1 个答案:

答案 0 :(得分:0)

当文档的ID或映射或字段类型不匹配时,会发生

版本冲突。 当单个文档有冲突时update_by_query将停止,并且该索引和下一个索引中的其余文档将无法使用更新。 (当然有些文档已经更新) 如果您使用conflict = proceed,它将不会仅更新有冲突的文档(只是跳过该文档而不是整个索引)。