gpt4 book ai didi

ElasticSearch - 使用 WHERE 子句一次更新多个文档

转载 作者:行者123 更新时间:2023-12-03 00:51:41 27 4
gpt4 key购买 nike

Linux 上的 ElasticSearch 6.2.2 - 所有事件都通过 API 调用实现 - 我们没有设置 Kibana。

我正在尝试将大约 5,000 个文档的一个字段更新为相同的值。现在我只知道如何使用以下 API 调用一次更新一个文档:

网址:

POST http://{{elasticip}}:9200/{{index}}/_doc/{{docid}}/_update?pretty

主体:

{
"doc": { "categories": [ "NEWS" ]}
}

我有大约 5k 个文档,其中 categories null 的值.所以我需要做一个更新 API 调用,上面写着更新 categories 的所有文档。字段是 null有值 [ "NEWS" ] .

这可以通过 API 调用实现吗?

最佳答案

这可以使用 update by query API 来实现:

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"
}
}
}
}
}

关于ElasticSearch - 使用 WHERE 子句一次更新多个文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com