Aggregations let you compute analytics over your indexed data — metrics like averages, sums, and statistics, as well as bucket-based groupings like terms, ranges, and histograms.
Use the SEARCH.AGGREGATE command to run aggregations.
They are useful when you want to answer questions like:
- "What is the average price?"
- "How many unique users do we have?"
- "How many orders fall into each price range?"
- "How does traffic change per hour/day?"
Aggregation requests have two phases:
- Document selection: Optional
filterselects which documents participate. - Aggregation computation: the selected set is reduced into metric values and/or buckets.
Each aggregation is defined with an alias (the key you choose for the result) and an operator that specifies what to compute.
Response Format#
Filtering#
Use filter to restrict which documents participate in the aggregation.
Filtering uses the same query syntax as queries.
Multiple Aggregations in One Request#
You can compute multiple top-level aggregations in one call by defining multiple aliases under aggregations.
Each alias is computed against the same filtered document set.
Nested Aggregations#
Bucket operators can include sub-aggregations via $aggs, so you can compute per-bucket metrics.
$terms,$range,$histogram, and$dateHistogramsupport nested$aggs.$facetdoes not support nested$aggs.- Metric operators do not support nested
$aggs.
Operator Families#
Metric Aggregations#
Metric aggregations return numeric summaries.
| Operator | Typical use |
|---|---|
$avg | Mean value |
$sum | Total |
$min | Smallest value |
$max | Largest value |
$count | Number of values |
$cardinality | Number of distinct values |
$stats | Basic summary stats |
$extendedStats | Stats + variance/std deviation |
$percentiles | Distribution cut points |
See the metric overview.
Bucket Aggregations#
Bucket aggregations partition documents into groups.
| Operator | Typical use |
|---|---|
$terms | Top values by field |
$range | Custom ranges |
$histogram | Fixed numeric bins |
$dateHistogram | Fixed time bins |
$facet | Hierarchical facets |
See the bucket overview.