elasticsearch为所有文档添加字段

时间:2017-12-22 04:14:09

标签: elasticsearch search

我是新来的。

我在一个索引中有大约20万个文档,都有相同的类型。我想为每个文档添加一个字段“category”(这是一个关键字字符串)。

有没有方便的方法来实现这一目标?我知道通常一个查询只能获得10000个文档

非常感谢

2 个答案:

答案 0 :(得分:0)

POST index_name/_update_by_query
{
  "script": {
    "inline": "ctx._source.field_name = \"value\"",
    "lang": "painless"
  }
}

答案 1 :(得分:0)

后来,但希望能对您有所帮助。

您可以使用_update_by_query API。

请注意,您可以使用请求的 query 部分为更新定义条件。如果只需要更新索引中的所有文档,则只需删除 query 部分。

POST my-index-000001/_update_by_query
{
  "script": {
    "source": "ctx._source.count++",
    "lang": "painless"
  },
  "query": {
    "term": {
      "user.id": "kimchy"
    }
  }
}

注意inline中的_update_by_query选项自6.x起已弃用。您应该改用source