假设我在Elastic Search中具有以下架构的文档:

{
  "data": {
    "cpu_id": string,
    "cpu_usage": double
  },
  "time": timestamp
}

给定cpu_id,如何找到最大cpu_usagetime
我花了很多时间试图找出答案,但并没有取得太大进展。在SQL中,它将类似于:
SELECT cpu_usage
FROM cpus
WHERE cpu_id = 1
ORDER BY cpu_ts DESC
LIMIT 1

为任何帮助加油!

最佳答案

您可以尝试以下方法:

"size": 1,
"sort": {
  "time": {
    "order": "desc"
  }
},
"query": {
  "filtered": {
    "filter": {
      "term": {
        "data.cpu_id": "1"
      }
    }
  }
}

这将为您提供与time相匹配的最新文档(根据cpu_id = "1"值)。

10-07 18:58
查看更多