es _update_by_query must_not
时间: 2023-07-29 10:09:07 浏览: 103
iPhone OpenGL_ES教程
`_update_by_query` 是 Elasticsearch 中的一个 API,可以用来根据查询条件更新文档。`must_not` 是 Elasticsearch 中的一个查询关键字,表示查询结果中不包含某个条件。`must_not` 可以用在查询语句中,也可以用在 `_update_by_query` API 中的查询条件中,用来排除某些文档进行更新。例如,可以使用如下语句来更新所有 `status` 字段为 `published` 的文档,但排除所有 `category` 字段为 `test` 的文档:
```
POST my_index/_update_by_query
{
"query": {
"bool": {
"must": [
{
"term": {
"status": "published"
}
}
],
"must_not": [
{
"term": {
"category": "test"
}
}
]
}
},
"script": {
"source": "ctx._source.status = 'archived'"
}
}
```
该请求将会把所有符合查询条件的文档中的 `status` 字段更新为 `archived`。
阅读全文