ongr/elasticsearch-dsl
Object-oriented Elasticsearch query builder for PHP. Build searches, filters, aggregations and more with a DSL, then export to arrays for elasticsearch-php or ONGR ElasticsearchBundle. Supports Elasticsearch 5/6/7 via versioned releases.
More info about serial differencing aggregation is in the official elasticsearch docs
Serial differencing is a technique where values in a time series are subtracted from itself at different time lags or periods
{
"aggs": {
"my_date_histo": {
"date_histogram": {
"field": "timestamp",
"interval": "day"
},
"aggs": {
"the_sum": {
"sum": {
"field": "lemmings"
}
},
"thirtieth_difference": {
"serial_diff": {
"buckets_path": "the_sum",
"lag" : 30
}
}
}
}
}
}
And now the query via DSL:
$search = new Search();
$dateAggregation = new DateHistogramAggregation('my_date_histo', 'timestamp', 'day');
$dateAggregation->addAggregation(
new SumAggregation('the_sum', 'lemmings')
);
$diffAggregation = new SerialDifferencingAggregation('thirtieth_difference', 'the_sum');
$diffAggregation->addParameter('lag', 30);
$dateAggregation->addAggregation($diffAggregation);
$search->addAggregation($dateAggregation);
$aggArray = $search->toArray();
How can I help you explore Laravel packages today?