假设我有一个像这样的elasticsearch映射:
{
"properties": {
"when": {
"type": "date_range"
},
"amount": {
"type": "long"
}
}
}
我索引了一些文档:
{
"amount" : "100",
"when" : {
"gte" : "2018-08-01T13:00:00Z",
"lt" : "2018-08-01T14:00:00Z"
}
}
{
"amount": 99,
"when": {
"gte": "2018-08-01T23:00:00Z",
"lt": "2018-08-02T02:00:00Z"
}
}
请注意,第一个日期范围完全落在8月1日之内,而第二个日期范围则跨越8月1日至8月的边界(比例为1:2)。
我们如何创建每天带有时段的汇总,将每个时段中的“金额”字段相加-但是每个文档在相关日期中的贡献是按比例分配的。因此,有了这两个文档,我们将得到两个存储桶(一个存储桶用于8月1日,一个存储桶用于第二个),第一个存储桶的总和为133,第二个存储桶的总和为66。