Elasticsearch,直方图按日期按比例求和

时间:2018-08-31 15:36:06

标签: elasticsearch

假设我有一个像这样的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。

0 个答案:

没有答案