尝试从 Elasticsearch 中删除字段时总是出现版本冲突问题

问题描述

我只是想从 ElasticsearchKibanaAWS 索引中的所有文档中删除一个字段,它总是给我 version conflicts即使我只发出一个请求并且确定目前没有其他人更新索引,也可以提供文档。我尝试了这里的几乎所有解决方案,但所有解决方案都导致相同的问题,并且没有任何文档得到更新:

Remove a field from a Elasticsearch document

例如:

POST /grch38_test__wes__grch38__variants__20210222/_update_by_query?conflicts=proceed
{
  "script": {
    "inline": "ctx._source.remove(\"AC\")"
  },"query" : {
      "exists": { "field": "AC" }
  }
}

为什么会这样?我可以尝试什么?

确切消息:

{
  "took" : 12768,"timed_out" : false,"total" : 11034,"updated" : 0,"deleted" : 0,"batches" : 12,"version_conflicts" : 11034,"noops" : 0,"retries" : {
    "bulk" : 0,"search" : 0
  },"throttled_millis" : 0,"requests_per_second" : -1.0,"throttled_until_millis" : 0,"failures" : [ ]
}

解决方法

最后,我能够使用线程中找到的解决方案来解决它:

ElasticSearch: Delete field from all documents where it exists (with Painless?)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...