当按elasticsearch_dsl中的特定属性分组时,如何检索最后一个日志?

时间:2018-07-20 13:17:06

标签: python elasticsearch elasticsearch-dsl elasticsearch-dsl-py

需要使用python elasticsearch_dsl获取每个服务器的最新日志(基于时间戳)

例如,以下是日志:

服务器小时CPU%

server1 8AM 19
server1 9AM 19
server1 10AM 29
server2 8AM 19
server2 9AM 13
server2 10AM 21
server3 8AM 1
server3 9AM 11
server3 10AM 2

我要提取的内容:

server1 10AM 29
server2 10AM 21
server3 10AM 2

我想从类似的东西开始

s.aggs.bucket('server_bucket','terms', field='server')

但是我有点卡住了,因为我不想要指标,而只是每个服务器的最后一条记录。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

知道了

    s.aggs.bucket('server', 'terms', field='server').metric('last_log','top_hits',size = 1,_source = ["CPU_PCT","@timestamp"],  sort=[{"@timestamp": {"order": "desc"}}])