按查询更新ElasticSearch出现问题

ssgvzors  于 2023-02-11  发布在  ElasticSearch
关注(0)|答案(1)|浏览(313)

Elasticsearch版本大约是7. x我想更新索引中的所有文档,我在文档中发现我必须使用"_update_to_the_query"。这是代码:

curl -XPOST 127.0.0.1:9200/hamlet-raw/_update_by_the_query -d'
{
"query": {
"match_all": {}
},
"script" : {
"speaker": "Hamlet"
}
}'

我得到了这个错误:

{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Invalid type: expecting [_doc] but got [_update_by_the_query]"}],"type":"illegal_argument_exception","reason":"Invalid type: expecting [_doc] but got [_update_by_the_query]"},"status":400}

为什么?有什么建议可以通过添加新字段和值来更新所有文档吗?谢谢。

nkcskrwz

nkcskrwz1#

查看使用脚本通过查询更新文档中的示例:
将脚本添加到节源代码中。

POST my-index-000001/_update_by_query
{
  "script": {
    "source": "ctx._source.speaker = 'hammelt'",
    "lang": "painless"
  },
  "query": {
    "match_all": {}
  }
}

相关问题