使用查询的 Elasticsearch-py 批量更新脚本?
Elasticsearch-py Bulk Update Script With Query?
我想通过脚本使用批量更新 api,但我想通过查询而不是 ID 来应用更新。
标准的批量更新负载看起来像这样-
{
"_index": "users",
"_type": "user",
"_op_type": "update",
"_id": "123",
"script": { ... }
}
但我想用查询替换 _id
属性-
{
"_index": "users",
"_type": "user",
"_op_type": "update",
"_query": {"query": {"range": {"age": {"gte": 30}}}},
"script": { ... }
}
这可以通过批量更新 api 实现吗?我是否需要 运行 通过脚本 api 请求将此作为标准更新?
我认为批量 API 不可能做到这一点。我认为你真正需要的是 update_by_query method. For more details, check examples in the documentation.
我想通过脚本使用批量更新 api,但我想通过查询而不是 ID 来应用更新。
标准的批量更新负载看起来像这样-
{
"_index": "users",
"_type": "user",
"_op_type": "update",
"_id": "123",
"script": { ... }
}
但我想用查询替换 _id
属性-
{
"_index": "users",
"_type": "user",
"_op_type": "update",
"_query": {"query": {"range": {"age": {"gte": 30}}}},
"script": { ... }
}
这可以通过批量更新 api 实现吗?我是否需要 运行 通过脚本 api 请求将此作为标准更新?
我认为批量 API 不可能做到这一点。我认为你真正需要的是 update_by_query method. For more details, check examples in the documentation.