假设我在Elastic Search中具有以下架构的文档:
{
"data": {
"cpu_id": string,
"cpu_usage": double
},
"time": timestamp
}
给定
cpu_id
,如何找到最大cpu_usage
的time
?我花了很多时间试图找出答案,但并没有取得太大进展。在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"
值)。