Всем доброго дня. Вопрос касается фасетного поиска.
Допустим есть 2 фильтра:
2.1 Категории
Грузовые (1765)
Легковые (1566)
Какие-нибудь еще (8675)
2.2 Цвета
Красный (5689)
Зеленый (156)
Синий (3599)
Желтый (2562)
Как мы видим напротив каждого фильтра указано сколько элементов индивидуально хранится в эластик.
Поставим галочку напротив "грузовые".
Поведение сейчас:
2.1 Категории
Грузовые (1765)
Легковые (0)
Какие-нибудь еще (0)
2.2 Цвета
Красный (кол-во красных грузовых)
Зеленый (кол-во зеленых грузовых)
Синий (кол-во синих грузовых)
Желтый (кол-во желтых грузовых)
Нужно такое поведение:
2.1 Категории
Грузовые (1765)
Легковые (1566)
Какие-нибудь еще (8675)
2.2 Цвета
Красный (кол-во красных грузовых)
Зеленый (кол-во зеленых грузовых)
Синий (кол-во синих грузовых)
Желтый (кол-во желтых грузовых)
То есть чтобы фильтр на конкретное поле не влиял на его агрегацию, но влиял на всех остальные. Как это можно реализовать оптимизированно? Сейчас реализуется за x запросов к elastic, а x равно кол-ву фильтров