Я ищу что-то похожее на этот без ответа вопрос
Может быть, это невозможно, и единственное решение - сделать это программно. Я посмотрел на агрегацию конвейеров, но я не могу сделать это так или не понял, как использовать тот или иной конвейер.
Вот пример вывода (очень упрощенный с ложными данными, конечно)
"aggregations": {
"potatoeEvents": {
"doc_count": 21,
"potatoes": {
"doc_count": 21,
"nature": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Yellow",
"doc_count": 6,
"bag": {
"doc_count": 0,
"size": {
"value": 0
}
}
},
{
"key": "Red",
"doc_count": 6,
"bag": {
"doc_count": 0,
"size": {
"value": 0
}
}
}
]
}
}
},
"bananaEvents": {
"doc_count": 18,
"bananas": {
"doc_count": 18,
"nature": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Yellow",
"doc_count": 3,
"tree": {
"doc_count": 3
}
}
}
}
}
}
А вот вывод, который я бы хотел получить:
"aggregations": {
"potatoeEvents_bananasEvents": {
"doc_count": 21,
"potatoes_bananas": {
"doc_count": 21,
"nature": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Yellow",
"doc_count": 6,
"bag": {
"doc_count": 0,
"size": {
"value": 0
}
},
"tree": {
"doc_count": 3
}
},
{
"key": "Red",
"doc_count": 6,
"bag": {
"doc_count": 0,
"size": {
"value": 0
}
}
}
]
}
}
}
}
Как видите, я объединяю два типа документов в одном запросе (это прекрасно работает). Идентификатор сегментов также одинаков. Можно ли постобработать эти агрегаты, чтобы получить то, что я хочу?