0
時間シーケンスインデックスが与えられているので、インデックスの最後のN個のアイテムに対してのみ集計を実行するにはどうすればよいですか?時系列インデックスでインデックス内の最後のN個のアイテムのelasticsearch集計を行う方法
時間シーケンスインデックスが与えられているので、インデックスの最後のN個のアイテムに対してのみ集計を実行するにはどうすればよいですか?時系列インデックスでインデックス内の最後のN個のアイテムのelasticsearch集計を行う方法
、あなたは降順でdatetime
フィールド(フィールドインデックス時間情報を格納)に基づいて結果をソートし、検索クエリにsize
オプションを使用して結果の数を制限し、結果としてあなたの上にaggs
を実行することができます。
elasticsearchバージョン< 2.0を使用している場合、フィールドになることができます。それ以降のバージョンのelasticsearchでは、マッピングにdatetimeフィールドを明示的に追加し、インデックス作成時にその値を設定する必要があります。要するに、最後のN個の結果が最初のN個の結果となり、結果に対して集約を実行するように検索クエリを変更します。
{
"query": {
"match_all": {}
},
"size": N,
"sort": [
{
"dateTimeFieldName(May be _timestamp)": {
"order": "desc"
}
}
],
'aggs': {
<your aggregation query>
}
}
残念ながら、私たちはこの方法を試みましたが、機能しません。サイズは結果のヒットリターンに影響を与えましたが、集計結果への影響はありませんでした。 – 3white