В Elastic Search мне нужно получить список доступных агрегатов (формально Facets?) Для текущего набора результатов.
Например, если я выполняю поиск слова «автомобиль» в наборе автомобилей, в которых определены поля MAKE и MODEL, я бы хотел, чтобы он не только давал мне набор результатов, но и список марок и моделей, которые я могу Сортировать по.
Из того, что я могу прочитать, вы должны запросить агрегаты, которые вы хотите. Это не может быть правдой, потому что если бы я был eBay и у меня был каталог с сотнями возможных атрибутов, все из которых доступны для поиска, то сказать поисковой системе, по каким аспектам я хотел бы искать, было бы невозможно масштабировать.
Я использую:
Я ожидаю, что просто смогу вызвать Elastica / ResultSet.php :: getAggregations () в строке 194 здесь:
Точка отсчета:
Может кто-нибудь уточнить, что мне нужно сделать, чтобы добиться этого?
В Elasticsearch вы должны явно указать, какие поля вы хотите собрать. Почему бы вам не реализовать клиентскую (клиентскую часть Elasticsearch) логику получения всех имен полей и создать поисковый запрос Elasticsearch с агрегированием для всех этих полей?
Других решений пока нет …