From a1ee1d77c4e96e3dc04a53443186cfb00b72ed88 Mon Sep 17 00:00:00 2001 From: Aivaras Gotovskis <aivaras.gotovskis@ongr.io> Date: Wed, 8 Jul 2015 16:34:52 +0300 Subject: [PATCH] Add date range aggregation doc. --- docs/Aggregation/DateRange.md | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 docs/Aggregation/DateRange.md diff --git a/docs/Aggregation/DateRange.md b/docs/Aggregation/DateRange.md new file mode 100644 index 0000000..c1f48a0 --- /dev/null +++ b/docs/Aggregation/DateRange.md @@ -0,0 +1,53 @@ +# Date Range Aggregation + +> More info about date range aggregation is in the [official elasticsearch docs][1] + +A range aggregation that is dedicated for date values. + +## Simple example + +```JSON +{ + "aggregations": { + "agg_range": { + "date_range": { + "field": "date", + "format": "MM-yyy", + "ranges": [ + { "to": "now-10M/M" }, + { "from": "now-10M/M" } + ] + } + } + } +} +``` + +And now the query via DSL: + +```php +$dateRangeAggregation = new DateRangeAggregation('range'); +$dateRangeAggregation->setField('date'); +$dateRangeAggregation->setFormat('MM-yyy'); +$dateRangeAggregation->addRange(null, 'now-10M/M'); +$dateRangeAggregation->addRange('now-10M/M', null); +``` + +Or : + +```php +$dateRangeAggregation = new DateRangeAggregation( + 'range', + 'date', + 'MM-yyy', + [ + ['to' => 'now-10M/M'], + ['from' => 'now-10M/M'], + ] +); + +$search = new Search(); +$search->addAggregation($dateRangeAggregation); +``` + +[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-daterange-aggregation.html -- GitLab