如何在elasticsearch中得到与函数结果对应的字段

时间:2017-09-19 13:52:13

标签: elasticsearch

我正在尝试提取与elasticsearch中的函数结果相对应的字段。例如给我一个具有最大时间戳记录的字段'elaspsedTime'。理想情况下,我希望将此作为“aggs”条款

的一部分
...
"aggs": {
    "minStart": {
        "min": {
            "field": "@timestamp"
        }
    },
   "maxStop": {
        "max": {
            "field": "@timestamp"
        }
    },
    "elapsedTimeForMax" : {
        // field 'elaspedTime' corresponding the 'max' field
    }
    ...
}

这可能吗?

1 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是使用top_hits聚合,如下所示:

"aggs": {
    "minStart": {
        "min": {
            "field": "@timestamp"
        }
    },
    "maxStop": {
        "max": {
            "field": "@timestamp"
        }
    },
    "elapsedTimeForMax" : {
        "top_hits": {
           "sort": {"@timestamp": "desc"},
           "size": 1,
           "_source": ["elapsedTime"]
        }
    }
    ...
}