当我使用_update_by_query而没有冲突选项时,它导致了version_conflict_engine_exception错误。
在阅读this document时,我发现为避免此错误,可以将conflicts = proceed与请求一起传递。
尽管我对文档中的措词有些困惑。 我了解,一旦指定了冲突=进程,它就不会在版本冲突发生之间中止。
但是它会更新发生冲突的文档,还是不会更新那些文档,而只会更新没有冲突的文档。
注意:我使用的是Elasticsearch 5.6
答案 0 :(得分:0)
版本冲突。 当单个文档有冲突时update_by_query将停止,并且该索引和下一个索引中的其余文档将无法使用更新。 (当然有些文档已经更新) 如果您使用conflict = proceed,它将不会仅更新有冲突的文档(只是跳过该文档而不是整个索引)。