считают, что у меня есть некоторый набор документов (в нижеприведенной структуре) в индексе упругого поиска
{
"xid": "1234567",
"time": "12/5/12 5:49 AM",
"data": [
{
"id": "abc",
"amount": 400
},
{
"id": "def",
"amount": 200
}
]
}
{
"xid": "1234568",
"time": "13/5/12 7:23 AM",
"data": [
{
"id": "abc",
"amount": 400
},
{
"id": "ghi",
"amount": 300
}
]
}
теперь внутри массива данных в каждом документе, я хочу сгруппировать по идентификатору и найтисумма.
Для данных двух документов решение будет выглядеть примерно так:
{
"id" : "abc",
"total" :800
},
{
"id" : "def",
"total" :200
},
{
"id" : "ghi",
"total" :300
}
Пожалуйста, помогите мне в структурировании моего запроса.
Мой первоначальный подход был
{
"aggs": {
"group_by_id": {
"terms": {
"field": "data.id.keyword"
},
"aggs": {
"total" : {
"sum": {
"field": "data.amount"
}
}
}
}
}
}
Выше приведен результат запроса, который не является ожидаемым.
{
"id" : "abc",
"total" :1300
},
{
"id" : "def",
"total" :600
},
{
"id" : "ghi",
"total" :700
}