[英]elasticsearch kibana update document which has space using update by query
[英]Update Elasticsearch document which has multiple array
我需要在elasticsearch 5.X中更新文档(批量)
条件
我必须批量更新它们。
{ "hits": [{ "_index": "myindex", "_id": "1", "_source": { "TicketSet": [{ "Tasks": [{ "Group": { "Id": 245, "Name": "Name 245" } }, { "Group": { "Id": 244, "Name": "Name 244" } }] }] } }, { "_index": "myindex", "_id": "3", "_source": { "TicketSet": [{ "Tasks": [{ "Group": { "Id": 245, "Name": "Name 245" } }, { "Group": { "Id": 244, "Name": "Name 244" } }] }] } }]
}
您可以通过查询API的更新轻松地做到这一点(我假设ticketdesc
是nested
):
POST tickets/_update_by_query
{
"query": {
"term": {
"TicketSet.Tasks.Group.Id": 245
}
},
"script": {
"inline": "ctx._source.TicketSet[0].Tasks.stream().filter(g -> g.Group.Id == params.groupId).forEach(g -> g.Group.Name = params.newName)",
"params": {
"groupId": 245,
"newName": "New name"
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.