【发布时间】:2018-01-09 10:17:17
【问题描述】:
我在 ElasticSearch 5.5 中有一组文档,其中包含两个日期字段:start_date 和 end_date。 我想将它们聚合到日期直方图存储桶中(例如:每周),这样如果 start_date
考虑以下具体示例:我有一组描述公司员工的文档,并且对于每个员工,您都有雇用日期和(可选)终止日期。我想建立过去 12 个月的活跃员工数量的日期直方图。
示例文档内容:
{
"start_date": "2013-01-12T00:00:00.000Z",
"end_date": "2016-12-08T00:00:00.000Z",
"id": "123123123"
}
有没有办法在 ES 中做到这一点?
【问题讨论】:
-
始终使用正确的 json 来支持您的问题,以向用例展示示例。谢谢
-
加了一个,虽然感觉没有增加很多价值
-
它不是关于价值,而是关于当我阅读这篇文章时,我应该能够更好地想象你的问题,显然推动格式化的 json 并没有太大的伤害。
-
我怀疑一个文档可以出现在一个聚合的多个存储桶中。我可以建议检查scripting for date aggregation,使用pipeline aggregations 并对数据进行非规范化,例如预先计算
start_date和end_date之间的所有星期,并将它们作为列表存储在字段active_weeks中。 -
@NikolayVasiliev 我找到了一种方法(检查我的答案),但我仍然对此不满意。也许脚本是一种更好的前进方式
标签: elasticsearch elasticsearch-5 elasticsearch-aggregation date-histogram