ElasticSearh更新nested字段(Array数组)。怎么根据查询条件(query)复制一个(index)到新的Index how to update by query a nested fields data for elasticsearch
GET usernested/_search { "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brandid": "93a8296c-5b64-49ea-bd92-b19192def2e9" } }, { "term": { "tags.site": "163" } } ] } } } } } //按照条件新建一个index 作为测试数据使用 POST _reindex { "source": { "index": "usernested", "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67" } }, { "term": { "tags.site": "163" } } ] } } } } }, "dest": { "index": "new_usernested" } } //查询 GET new_usernested/_search { "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67" } }, { "term": { "tags.site": "163" } } ] } } } } } //根据条件更新一个 nested的文档 GET usernested/_update_by_query { "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brand": "c55fd643-1333-4647-b898-fb3e5e4e6d67" } }, { "term": { "tags.site": "163" } } ] } } } }, "script": { "inline": "for(e in ctx._source.tags){e.brand = 'test2';}" //更新nested字段
//"inline":"ctx._source.userid = 'testid'" //更新普通字段 } }