私は、elasticsearch に次のネストされたサブ集計のセットを持っています (field2 は field1 のサブ集計であり、field3 は field2 のサブ集計です)。ただし、field3 の用語集約は、field3 を持たないドキュメントをバケット化しないことがわかりました。
私の理解では、field3 の用語クエリに加えて、Missing サブ集計クエリを使用してそれらをバケット化する必要があります。
しかし、それを以下のクエリに追加して両方をバケット化する方法がわかりません。
{
"size": 0,
"aggregations": {
"f1": {
"terms": {
"field": "field1",
"size": 0,
"order": {
"_count": "asc"
},
"include": [
"123"
]
},
"aggregations": {
"field2": {
"terms": {
"field": "f2",
"size": 0,
"order": {
"_count": "asc"
},
"include": [
"tr"
]
},
"aggregations": {
"field3": {
"terms": {
"field": "f3",
"order": {
"_count": "asc"
},
"size": 0
},
"aggregations": {
"aggTopHits": {
"top_hits": {
"size": 1
}
}
}
}
}
}
}
}
}
}