Всем привет.
Есть тип, в котором есть nested поле - это объект id параметра и его значений ( для фасетного поиска)
"parameters": {
"type": "nested",
"properties": {
"id": {
"type": "integer"
},
"values": {
"type": "keyword"
}
}
}
хочу получить данные по количеству объектов для каждого значения параметра.
GET places/place/_search?size=0
{
"query": {
"match_all": {}
},
"aggs": {
"parameters": {
"nested": {
"path": "parameters"
},
"aggs": {
"parameters_cnt_i": {
"terms": {
"field": "parameters.id",
"size": 100
},
"aggs": {
"parameters_cnt_v": {
"terms": {
"field": "parameters.values",
"size": 100
}
}
}
}
}
}
}
}
Но это не особо хорошо, завышать size не хочется, рассчитывать его заранее - тоже.
в документации говорится
If you want to retrieve all terms or all combinations of terms in a nested terms aggregation you should use the Composite aggregation
Но не получается сделать.
Composite нельзя в aggs применять, а иначе nested в source не видны.
Есть ли решение?