【发布时间】:2020-04-11 02:56:08
【问题描述】:
假设我在文档上有一个日期字段,我知道使用 date_histogram 聚合可以按天、月、年等获取文档计数。
我想做的是获取给定年份中 1 月、2 月、3 月等的平均文档数量。在给定的几周内,周一、周二、周三等也是如此。有没有办法使用相同的日期字段来做到这一点,或者使用 Elasticsearch 实现这一目标的最佳方法是什么?
示例
假设我们有一堆超过三年的订单:
- 2012 - 1 月(10 个订单)、2 月(5 个订单)、3 月(7 个订单)、4 月(11 个订单)等
- 2013 - 1 月(13 个订单)、2 月(7 个订单)、3 月(12 个订单)、4 月(15 个订单)等
- 2014 - 1 月(10 个订单)、2 月(7 个订单)、3 月(6 个订单)、4 月(13 个订单)等。
我想要的是给定年份每个月的平均值,因此输出将是:
1 月(10 + 13 + 10 / 3 = 11 个订单)、2 月(6.33 个订单)、3 月(8.33 个订单)、4 月(13 个订单)等
最好能将其推广到 N 年(或 N 个一月等),以便我们在任何日期范围内进行搜索。
【问题讨论】:
标签: elasticsearch