Как я могу получить родительскую агрегацию, чтобы рассчитать процент от конкретного термина во вложенной агрегации на родительскую агрегацию?
Например, предположим, у меня есть следующие данные:
- Январь (100 продаж)
- тип: футболка (10 продаж), мне нужно: 10/100 = .10)
- тип: брюки (50 шт), мне нужно: 50/100 = .50)
- тип: юбка (40 шт), мне нужно: 40/100 = .40)
- Февраль (60 продаж)
- тип: футболка (58 распродаж); Мне нужно: 58/60 = .96)
- тип: брюки (1 продажа); Мне нужно: 1/60 = 0,016)
- тип: юбка (1 продажа); Мне нужно: 1/60 = 0,016)
Результат, который мне нужен:
- Январь:
- футболка: 10%
- брюки: 50%
- юбка: 40%
- Февраль:
- футболка: 96%
- штаны: 1,6%
- юбка: 1,6%
Например, на основе официального примера эластичного поиска это будет примерно так:
POST /sales/_search
{
"size": 0,
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"interval": "month"
},
"aggs": {
"types": {
"term": {
"field": "type"
}
}
}
}
}
}
Но тогда я не знаю, как рассчитать эти проценты.