%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/ongr/elasticsearch-dsl/docs/Aggregation/Bucketing/ |
Current File : /home/graphicd/public_html/vebto/vendor/ongr/elasticsearch-dsl/docs/Aggregation/Bucketing/Range.md |
# 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" : { "price_ranges" : { "range" : { "field" : "price", "keyed" : false, "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