如何添加和删除嵌套文档中的字段

时间:2017-04-13 14:30:02

标签: elasticsearch

我想添加一个新字段&还需要从嵌套字段中删除该字段。

这是我的映射

PUT nestedtest/_mapping/nestedtype
{
  "properties": {
    "name":{
      "type": "text"
    },
    "address":{
      "type": "nested",
      "properties": {
        "city":{
          "type":"text"
        }
      }


    }
  }
}

现在我想在**address nested path 中添加一个新字段,例如** country = India` 然后我需要删除国家/地区字段中的数据i..e 印度而不是国家/地区字段

我试过这个

POST /nestedtest/nestedtype/1/_update?pretty
{
  "script": {
    "lang": "painless",
    "inline": "ctx._source.address=params.country",
    "params": {
      "country":{
        "country":"India"
      }
    }

  }

}

但这是从地址嵌套路径中移除上一个字段 city

1 个答案:

答案 0 :(得分:0)

使用doc方法代替script方法。

  POST /nestedtest/nestedtype/1/_update?pretty
  {
      "doc":{
           "address":{
                  "country":"India"
           }
      }
  }