elasticsearch - Elasticsearch :与带有过滤器的最大值有关的值

标签 elasticsearch

假设我在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"值)。

关于elasticsearch - Elasticsearch :与带有过滤器的最大值有关的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38695348/

相关文章:

elasticsearch - 如何处理输入文件logstash中的特殊字符(“)

elasticsearch - Elasticsearch-聚合过滤数据

elasticsearch - 对嵌套对象的Elasticsearch复杂查询

nginx - Elasticsearch Head插件无法通过Nginx反向代理工作

angularjs - 如何用elasticui突出显示搜索结果?

java - 如何获取所有别名形式ImmutableOpenMap <String,List <AliasMetaData >>

elasticsearch - 如何使用bodybuilder从前端生成动态查询?

elasticsearch - 如何在elasticsearch中搜索标签

elasticsearch - Elastic Search问题中的完全匹配查询

elasticsearch - 仅配置文件拍以读取最近5天的日志文件