2

aggregationと同じ機能Histogramが必要ですが、間隔を指定する代わりにバケットの数のみを指定する場合、どちらを使用すればよいですか?

のようなもの:aggs価格を教えてください、そしてそれを 5 つのバケツに分けてください...

min+max を作成したくないのでaggregation、クエリを送信する前に 5 つの間隔を計算します。これは、サーバー上で 1 つの余分なクエリを意味するためです...最初に min+max を要求してから、実際のクエリを送信します。

標準ヒストグラム集計クエリ:

"aggs":{
    "prices":{
        "histogram": {
            "field": "variants.priceVat.d1",
            "interval": 500
        }
    }
}

標準的な結果 (間隔が 500 であるため、最小 10、最大 850 = 2 バケット):

"prices": {
    "doc_count": 67,
    "prices": {
        "buckets": [
            {
                "key": 10,
                "doc_count": 56
            },
            {
                "key": 500,
                "doc_count": 13
            }

        ]
    }
}

私が欲しいもの (自動範囲最小: 10、最大: 850 = 1 バケット間隔の 5 つのバケットは 168):

"prices": {
    "doc_count": 67,
    "prices":{
        "buckets": [
            {
                "key": 10,
                "doc_count": 42
            },
            {
                "key": 178,
                "doc_count": 10
            },
            {
                "key": 346,
                "doc_count": 4
            },
            {
                "key": 514,
                "doc_count": 7
            },
            {
                "key": 682,
                "doc_count": 2
            }

        ]
    }
}
4

0 に答える 0