如何解决Elasticsearch异常中的version_conflict_engine_exception?

Man*_*S K 4 elasticsearch

我正在使用 Elasticsearch 7.9.0

我非常频繁地更新文档。所以我得到了以下异常

Elasticsearch 异常 [type=version_conflict_engine_exception,reason=[111]:版本冲突,必需 seqNo [4348],主要术语 [2]。当前文档有 seqNo [4427] 和主要术语 [2]]

然后我在每次更新之间给出了 1 秒的延迟。(我不能给出更多的时间)

但问题仍然存在。我们该如何解决这个问题。请帮我。谢谢。

Roy*_*evy 9

出现此问题的原因是elasticsearch 中文档的版本控制。此功能的存在是为了防止同时运行的任务对同一文档进行并发更改。当您尝试更新已被其他任务更新的文档时,您可能会遇到此问题。

如果您想通过更新来跟踪文档的更新过程,您可能需要使用 elastic 的任务管理 API: https: //www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html

此外,您可能还想查看 Index API 上的文档,它会进一步解释: https: //www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html