Elasticsearch がバケットによるサブ集計をサポートしていることは承知しています (バケット集計では、バケットまたはメトリクスのサブ集計を使用できます)。メトリクス集計ではサブ集計はできません。それは理にかなっているかもしれませんが、これがユースケースです。
親として用語集約があります。そして、別のterm
集約をその子として使用します。childterm
には type の子集約がありtop_hits
ます。top_hits
メトリック集計であるため、子集計を取ることはできません。avg
次に、集計をミックスに含める必要があります。与えられたのは、メトリック集計であるためtop_hits
、集計ツリーの最後の集計でありavg
、子として持つことはできません。top_hits
以下は、望ましい集約レベルです。(もちろん、これtop_hits
はメトリック集計であり、集計にも当てはまりavg
ます。
{
"aggregations": {
"top_makes": {
"terms": {
"field": "make"
},
"aggregations": {
"top_models": {
"terms": {
"field": "model"
},
"aggregations": {
"top_res": {
"top_hits": {
"_source": {
"include": [
"model",
"color"
]
},
"size": 10
}
}
}
}
},
"aggregations": {
"avg_length": {
"avg": {
"field": "vlength"
}
}
}
}
}
}
これに対処するための回避策または最善の方法は何ですか?