Linux 上的 ElasticSearch 6.2.2 - 所有活动均通过 API 调用实现 - 我们没有设置 Kibana。
我正在尝试将大约 5,000 个文档的一个字段更新为相同的值。现在我只知道如何使用以下 API 调用一次更新一个文档:
网址:
POST http://{{elasticip}}:9200/{{index}}/_doc/{{docid}}/_update?pretty
Run Code Online (Sandbox Code Playgroud)
身体:
{
"doc": { "categories": [ "NEWS" ]}
}
Run Code Online (Sandbox Code Playgroud)
我有大约 5k 个文档,其categories值为null. 所以我需要执行一个更新 API 调用,更新所有categories包含nullvalue 的文档[ "NEWS" ]。
这可以通过 API 调用来实现吗?
Val*_*Val 10
POST your-index/_update_by_query
{
"script": {
"source": "ctx._source.categories = params.categories",
"lang": "painless",
"params": {
"categories": ["NEWS"]
}
},
"query": {
"bool": {
"must_not": {
"exists": {
"field": "categories"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |