Elasticsearch: remove/update field inside nested object

后端 未结 4 1904
借酒劲吻你
借酒劲吻你 2021-01-12 18:36
{
  \"_index\" : \"test\",
  \"_type\" : \"test\",
  \"_id\" : \"1212\",
  \"_version\" : 5,
  \"found\" : true,
  \"_source\" : {
    \"count\" : 42,
    \"list_dat         


        
4条回答
  •  遥遥无期
    2021-01-12 19:12

    To add a new element to your nested field you can proceed like this:

    $ curl -XPOST 'localhost:9200/index/type/1212/_update?pretty' -d '
    {
        "script" : "ctx._source.list_data += newElement",
        "params": {
            "newElement": {
               "list_id" : 121,
               "timestamp" : 1469050965
            }
        }
    }'
    

    To remove an existing element from your nested field list, you can proceed like this:

    $ curl -XPOST 'localhost:9200/index/type/1212/_update?pretty' -d '
    {
        "script" : "ctx._source.list_data.removeAll{it.list_id == remove_id}",
        "params": {
            "remove_id" : 122
        }
    }'
    

提交回复
热议问题