Агрегирование extended stats bucket
Агрегирование на основе канала, которое вычисляет различные статистические данные по всем корзинам указанного метрического значения в агрегации на основе канала. Указанное значение метрики должно быть числовым, а агрегация на основе канала должна быть агрегацией с множеством корзин.
Эта агрегация предоставляет несколько дополнительных статистических данных (сумма квадратов, стандартное отклонение и т. д.) по сравнению с агрегацией stats_bucket.
Синтаксис
Агрегация extended_stats_bucket в изоляции выглядит следующим образом:
{
"extended_stats_bucket": {
"buckets_path": "the_sum"
}
} Таблица 55. extended_stats_bucket Параметры
| Имя параметра | Описание | Обязательно | Значение по умолчанию |
|---|---|---|---|
| Путь к корзинам, для которых мы хотим вычислить статистику (см. | Обязательно | |
| Политика, применяемая при обнаружении пробелов в данных (см. Обработка пробелов в данных для получения более подробной информации) | Необязательно |
|
| формат, применяемый к выходному значению этой агрегации | Необязательно |
|
| Количество стандартных отклонений выше/ниже среднего значения для отображения | Необязательно | 2 |
Следующий фрагмент кода вычисляет расширенную статистику для ежемесячной sales корзины:
POST /sales/_search
{
"size": 0,
"aggs": {
"sales_per_month": {
"date_histogram": {
"field": "date",
"calendar_interval": "month"
},
"aggs": {
"sales": {
"sum": {
"field": "price"
}
}
}
},
"stats_monthly_sales": {
"extended_stats_bucket": {
"buckets_path": "sales_per_month>sales"
}
}
}
} |
|
И вот возможный ответ:
{
"took": 11,
"timed_out": false,
"_shards": ...,
"hits": ...,
"aggregations": {
"sales_per_month": {
"buckets": [
{
"key_as_string": "2015/01/01 00:00:00",
"key": 1420070400000,
"doc_count": 3,
"sales": {
"value": 550.0
}
},
{
"key_as_string": "2015/02/01 00:00:00",
"key": 1422748800000,
"doc_count": 2,
"sales": {
"value": 60.0
}
},
{
"key_as_string": "2015/03/01 00:00:00",
"key": 1425168000000,
"doc_count": 2,
"sales": {
"value": 375.0
}
}
]
},
"stats_monthly_sales": {
"count": 3,
"min": 60.0,
"max": 550.0,
"avg": 328.3333333333333,
"sum": 985.0,
"sum_of_squares": 446725.0,
"variance": 41105.55555555556,
"variance_population": 41105.55555555556,
"variance_sampling": 61658.33333333334,
"std_deviation": 202.74505063146563,
"std_deviation_population": 202.74505063146563,
"std_deviation_sampling": 248.3109609609156,
"std_deviation_bounds": {
"upper": 733.8234345962646,
"lower": -77.15676792959795,
"upper_population" : 733.8234345962646,
"lower_population" : -77.15676792959795,
"upper_sampling" : 824.9552552551645,
"lower_sampling" : -168.28858858849787
}
}
}
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-aggregations-pipeline-extended-stats-bucket-aggregation.html