按自定义日期分组

时间:2018-09-17 08:54:59

标签: elasticsearch elastica

我想使用格式为的字段按年和月对结果进行“分组” YYYY-MM-DD。我想按月对它们进行分组,因此格式为YYYY-MM。我尝试使用术语汇总将它们分组,但无济于事,所以现在我去看看DateHistogram汇总,并尝试了以下方法,但仍然不起作用。

$date_grp_agg = new \Elastica\Aggregation\DateHistogram('achats_date');
$date_grp_agg->setField('achats_date')->setFormat("MM-yyy")->setInterval('1');

你们中有人知道如何使用格式化的日期字段将结果正确分组吗?

1 个答案:

答案 0 :(得分:1)

答案很简单

$date_grp_agg = new \Elastica\Aggregation\DateHistogram('achats_date');
$date_grp_agg->setField('achats_date')->setFormat("MM-yy")->setInterval('1M');

要按月对它们进行分组,您需要将时间间隔设置为1个月,这样就可以每月过滤结果。

来源:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html