使用查询的 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.