0

このようなelasticsearchのいくつかのデータ:

{"info":"fwefwefwef","is_fail":0,"result":404,"key":"845722d85520c91f345b08aba3233c96","duration":1,"lts_at":1479786902}

「lts_at is」はタイムスタンプで、「floor(lts_at/300)」のデータでグループ化したい

{ 
"aggs": {
    "per_5minute": {
        "terms": {
            "field": "lst_at/300"
        }
    }
}

集計クエリの書き方

4

1 に答える 1

0

次のように、代わりに 5 分の間隔でdate_histogram集計を使用してみることができます。

{
    "aggs" : {
        "per_5minute" : {
            "date_histogram" : {
                "field" : "lst_at",
                "interval" : "5m"
            }
        }
    }
}

terms集計に固執したい場合は、代わりにスクリプトを使用する必要があります。

{ 
"aggs": {
    "per_5minute": {
        "terms": {
            "script": {
                "inline": "Math.floor(doc.lst_at.value / 300)"
            }
        }
    }
}

これを機能させるには、動的スクリプトを有効にする必要があります

于 2016-11-29T04:52:16.343 に答える