在同一查询中具有日期范围和总和的弹性搜索聚合

时间:2018-08-14 13:43:57

标签: elasticsearch aggregate-functions elasticsearch-5

假设我有一个引擎,只要引擎打开,我就会在引擎再次关闭表中的更新时在表中插入时间戳(字段名称:last_on_time )(字段名称:last_off_time )。现在,我想通过减去

来获得引擎的运行时间
"script": "doc.last_off_time.date.secondOfDay - doc.last_on_time.date.secondOfDay"

(使用存储桶)中的汇总中的

,该小时提供了表中每个字段的运行时间。

现在,我想在给定的日期范围内获得这些值,并在同一查询中获得总运行时间的总和。有可能实现它吗?

我当前的查询是:

{
"size":0,
 "query": { "match":{"device_id":__engine_id__}   },
    "aggs": {

        "runtime": {
            "terms": {
                "script": "doc.last_off_time.date.secondOfDay - doc.last_on_time.date.secondOfDay"
            },
            "aggs": {
                "tops": {
                  "top_hits": {
                    "size": 100000
                  }
                }
            }
        }

    }
}

0 个答案:

没有答案