Получение "значения" одного поля после агрегации больше не имеет смысла - если в вашей однодневной агрегации есть три документа, то у одного поля больше не будет одного "значения" в течение этого однодневного периода..
Вместо этого вы можете использовать субагрегацию для вычисления агрегированного значения за день, такого как сумма или среднее значение:
{
"aggs": {
"group_by_state": {
"date_histogram": {
"field": "reg-date",
"interval": "day",
"min_doc_count": 0,
"extended_bounds": {
"min": "2018-10-01T00:00:00",
"max": "2018-10-07T23:59:59"
}
},
# sub-aggregations
"aggs": {
"bps_average": {
"avg": {
"field": "bps"
}
},
"pps_average": {
"avg": {
"field": "pps"
}
}
}
}
}
}
Тогда у каждого сегмента будут поля bps_average
иpps_average
.Если вы замените avg
на sum
, вместо этого вы получите сумму, а много других агрегатов метрик .
В руководстве ElasticSearch есть хороший раздел об агрегацияхи вложенность .