Histogram Aggregation
More info about histogram aggregation is in the official elasticsearch docs
A multi-bucket values source based aggregation that can be applied on numeric values extracted from the documents. It dynamically builds fixed size (a.k.a. interval) buckets over the values.
Simple example
{
"aggregations": {
"prices": {
"histogram": {
"field": "price",
"interval": 50
}
}
}
}
And now the query via DSL:
$histogramAggregation = new HistogramAggregation('prices', 'price', 50);
$search = new Search();
$search->addAggregation($histogramAggregation);
$queryArray = $search->toArray();