- “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?”
- TypeScript
- Python
- Redis CLI
- Document selection: Optional
filterselects which documents participate. - Aggregation computation: the selected set is reduced into metric values and/or buckets.
Filtering
Usefilter to restrict which documents participate in the aggregation.
Filtering uses the same query syntax as queries.
- TypeScript
- Python
- Redis CLI
Multiple Aggregations in One Request
You can compute multiple top-level aggregations in one call by defining multiple aliases underaggregations.
Each alias is computed against the same filtered document set.
- TypeScript
- Python
- Redis CLI
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.
- TypeScript
- Python
- Redis CLI
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 |
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 |