2

aggregation当我想要与 相同的功能Histogram但只指定桶数而不是指定间隔时,我应该使用哪个?

比如:给我aggs价格,然后分成5个桶......

我不想做 min+max aggregation,然后在发送我的查询之前计算 5 个间隔,因为这意味着服务器上有 1 个额外的查询......首先要求 min+max,然后发送实际查询。

标准直方图 AGGS 查询:

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

标准结果(最少 10,最多 850 = 2 个桶,因为间隔为 500):

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

        ]
    }
}

我想要什么(自动范围最小的五个桶:10,最大:850 = 1 个桶间隔为 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