Extended Statistics Aggregation
A multi-value metrics aggregation that computes extended statistics over numeric values extracted from the aggregated documents.
The _extended_stats
aggregations is an extended version of the
Statistics Aggregation, where additional metrics are added
such as _sum_of_squares
, _variance
, _std_deviation
and
_std_deviation_bounds
, these are detailed in their corresponding aggregation
section:
Structuring
The following snippet captures the structure of extended statistics aggregations:
"<aggregation_name>": {
"_extended_stats": {
"_field": "<field_name>"
},
...
}
Field
The <field_name>
in the _field
parameter defines the specific field from
which the numeric values in the documents are extracted and used to compute the
returned extended statistics.
Assuming the data consists of documents representing bank accounts, as shown in the sample dataset of Data Exploration section:
SEARCH /bank/
{
"_query": "*",
"_limit": 0,
"_check_at_least": 1000,
"_aggs": {
"balance_stats": {
"_extended_stats": {
"_field": "balance"
}
}
}
}
The above aggregation computes the balance statistics over all documents. The above will return the following:
"aggregations": {
"_doc_count": 1000,
"balance_stats": {
"_count": 1000,
"_min": 7.99,
"_max": 12699.46,
"_avg": 2565.03304,
"_sum": 2565033.04,
"_sum_of_squares": 8844461934.66,
"_variance": 2267334.7731415,
"_std_deviation": 1505.7671709602053,
"_std_deviation_bounds": {
"_upper": 5576.56738192041,
"_lower": -446.50130192041049
}
}
}, ...
The name of the aggregation (balance_stats
above) also serves as the key by
which the aggregation result can be retrieved from the returned response.