Skip to content
Snippets Groups Projects
Commit 0f24a616 authored by Aivaras Gotovskis's avatar Aivaras Gotovskis
Browse files

Add range aggregation doc.

parent d4de47f7
No related branches found
No related tags found
No related merge requests found
# Range Aggregation
> More info about range aggregation is in the [official elasticsearch docs][1]
A multi-bucket value source based aggregation that enables the user to define a set of
ranges - each representing a bucket.
## Simple example
```JSON
{
"aggs" : {
"agg_price_ranges" : {
"range" : {
"field" : "price",
"ranges" : [
{ "to" : 50 },
{ "from" : 50, "to" : 100 },
{ "from" : 100 }
]
}
}
}
}
```
And now the query via DSL:
```php
$rangeAggregation = new RangeAggregation(
'price_ranges',
'price',
[
['to' => 50],
['from' => 50, 'to' => 100],
['from' => 100],
]
);
$search = new Search();
$search->addAggregation($rangeAggregation);
$queryArray = $search->toArray();
```
## Keyed example
```php
$rangeAggregation = new RangeAggregation(
'price_ranges',
'price',
[
['key' => 'cheap', 'to' => 50],
['from' => 50, 'to' => 100],
['key' => 'expensive', 'from' => 100],
],
true
);
$search = new Search();
$search->addAggregation($rangeAggregation);
$queryArray = $search->toArray();
```
## Adder example
```php
$rangeAggregation = new RangeAggregation('price_ranges', 'price');
$rangeAggregation->setKeyed(true);
$rangeAggregation->addRange(null, 50, 'cheap');
$rangeAggregation->addRange(50, 100);
$rangeAggregation->addRange(100, null, 'expensive');
$search = new Search();
$search->addAggregation($rangeAggregation);
$queryArray = $search->toArray();
```
[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-range-aggregation.html
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment