在Elasticsearch中查找并替换所有文档

我想替换所有我的Elasticsearch索引文档中的单个用户名。是否有API查询?

我尝试搜索多个但找不到。有人知道吗?

我的情况:

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"mad", "role":"tester"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"engineer"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"cat", "role":"engineer"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"doctor"}'

我在名为“ test”的索引中具有上述数据,并键入“ movies”。在这里,我想用“ alice”代替所有的“ bob”名称。

谢谢

回答:

通过查询更新是解决之道。

POST /test/movies/_update_by_query

{

"script": {

"inline": "ctx._source.user = 'alice'"

},

"query": {

"term": {

"user": "bob"

}

}

}

注意:请确保启用动态脚本,以使其起作用。

以上是 在Elasticsearch中查找并替换所有文档 的全部内容, 来源链接: utcz.com/qa/416725.html

回到顶部