Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Date Range Aggregation

More info about date range aggregation is in the official elasticsearch docs

A range aggregation that is dedicated for date values.

Simple example

{
    "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:

$dateRangeAggregation = new DateRangeAggregation('range');
$dateRangeAggregation->setField('date');
$dateRangeAggregation->setFormat('MM-yyy');
$dateRangeAggregation->addRange(null, 'now-10M/M');
$dateRangeAggregation->addRange('now-10M/M', null);

Or :

$dateRangeAggregation = new DateRangeAggregation(
    'range',
    'date',
    'MM-yyy',
    [
        ['to' => 'now-10M/M'],
        ['from' => 'now-10M/M'],
    ]
);

$search = new Search();
$search->addAggregation($dateRangeAggregation);