2016-08-01 21 views
0

で最大値に関連する値は、私が弾性検索で、次のスキーマを使用した書類を持って言う:私は最大timecpu_usageを見つけるのですかcpu_id考える弾性検索:フィルター

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

? 私はそれを理解しようとしている間に良いことを過ごしましたが、頭を上げていませんでした。 SQLでは、次のようなものになります。

SELECT cpu_usage 
FROM cpus 
WHERE cpu_id = 1 
ORDER BY cpu_ts DESC 
LIMIT 1 

助けてくれれば助けてください!

答えて

1

あなたはこの試みることができる:これはあなたのcpu_id = "1"に一致する(time値に応じて)最新のドキュメントを提供します

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

を。

+0

これは、 'query malformed、開始オブジェクトの後のフィールドがありません 'という理由で' query_parsing_exception'を返します。 – Mullefa

+0

おっと、編集をご覧ください。 –