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
}
]
}
}