【发布时间】:2023-04-06 09:31:02
【问题描述】:
我正在尝试创建一个显示每月员工数量的日期直方图。
员工映射如下所示:
{
"number": 1234,
"firstName": "Chris",
"lastName": "Smith",
"employmentDates: [
{
"startDate": "2014-10-03T06:00:00Z",
"endDate": "2017-11-04T06:00:00Z"
}
],
"lastPaidOnDate": "2017-11-10T06:00:00Z",
....
}
给定这样的开始和结束场景(三名员工):
|----------------|
|-----------------------------|
|---| |---------------------|
^ ^ ^ ^ ^ ^
我希望直方图与此类似:
"aggregations": {
"employees_per_month": {
"buckets": [
{
"key_as_string": "2017-01-01",
"doc_count": 1
},
{
"key_as_string": "2017-02-01",
"doc_count": 2
},
{
"key_as_string": "2017-03-01",
"doc_count": 2
},
{
"key_as_string": "2017-04-01",
"doc_count": 3
},
{
"key_as_string": "2017-05-01",
"doc_count": 3
},
{
"key_as_string": "2017-06-01",
"doc_count": 2
}
]
}
}
似乎我需要在脚本字段上进行子聚合,但我不确定从哪里开始。
非常感谢您的帮助。
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation