弹性搜索:与过滤器的最大值有关的值

时间:2016-08-01 09:28:51

标签: elasticsearch

假设我在弹性搜索中有以下架构的文档:

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

如果cpu_id我如何找到最大cpu_usage的{​​{1}}? 我花了很多时间试图解决这个问题,但是没有多少头脑。在SQL中,它就像是:

time

为任何帮助干杯!

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

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

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