Metric Aggregations
$stats
$stats returns multiple basic metrics in one pass.
For the selected field, it computes:
countsumminmaxavg
This is equivalent to running $count, $sum, $min, $max, and $avg together, but returned as a single object.
Compatibility
| Field Type | Supported |
|---|---|
| TEXT | No |
| U64/I64/F64 | Yes |
| DATE | Yes |
| BOOL | Yes |
| KEYWORD | No |
| FACET | No |
Field must be FAST.
Arguments
| Argument | Type | Required | Description |
|---|---|---|---|
field | string | Yes | Field to aggregate. |
missing | number | No | Fallback value for missing fields. |
await index.aggregate({ aggregations: { price_stats: { $stats: { field: "price", missing: 0 } }, },});index.aggregate( aggregations={"price_stats": {"$stats": {"field": "price", "missing": 0}}})SEARCH.AGGREGATE products '{}' '{"price_stats": {"$stats": {"field": "price", "missing": 0}}}'Output
{ "price_stats": { "count": 9, "min": 0, "max": 80, "sum": 360, "avg": 40 } }min, max, and avg can be null when no values are available.