Группа поиска по нескольким полям

Я ищу лучший способ для группировки данных вasticsearch. Elasticsearch не поддерживает что-то вроде 'группа по' в кв.

Допустим, у меня есть 1 000 категорий и миллионы продуктов. Как вы думаете, что является лучшим способом визуализации полного дерева категорий? Конечно, вам нужны метаданные (значок, ссылка-цель, seo-заголовки, ...) и пользовательская сортировка по категориям.

Использование агрегатов: Пример:https://found.no/play/gist/8124563 выглядит полезным, если вам нужно сгруппировать по одному полю и вам нужны дополнительные поля.

Использование нескольких полей в фасете (не работает) Пример:https://found.no/play/gist/1aa44e2114975384a7c2 Здесь мы теряем связь между различными полями.

Создание смешных гранейhttps://found.no/play/gist/8124810

например, построение дерева категорий с помощью этого 3 "решения» отстой. Решение 1 может работать (ES 1 сейчас не стабилен) Решение 2 не работает Решение 3 - это боль, потому что кажется уродливым, вам нужно подготовить много данных, и аспекты взорвутся.

Может быть альтернативой может быть не хранить какие-либо данные категории в ES, только идентификаторhttps://found.no/play/gist/a53e46c91e2bf077f2e1

чем вы могли бы получить связанную категорию из другой системы, например, Redis, Memcache или базы данных.

это закончится чистым кодом, но производительность может стать проблемой. например загрузка 1k категорий из memcache / Redis / базы данных может быть медленной. Другая проблема заключается в том, что синхронизировать 2 базы данных сложнее, чем синхронизировать одну.

как вы справляетесь с такими проблемами?

Прошу прощения за ссылки, но я не могу опубликовать более двух в одной статье.

Ответы на вопрос(3)

Ваш ответ на вопрос