У меня есть набор простых агрегатов для добавления интерфейса типа фильтра к моему поиску. Вот так:
https://gorails.com/episodes/search-filters-with-elasticsearch-aggregations
В моем случае в моей модели есть теги. Таким образом, данная модель может иметь несколько (или ни одного) тегов. Я добавил простое сопоставление:
tags: tags.joins (: tag_category) .select ("tags.name AS name, tag_categories.name AS cat"). Map {| tag | [tag.name, tag.cat.humanize.downcase] .join ("")} .join ("")
Так что мой базовый c текстовый поиск может найти эти теги с простой запрос поиска. Как получить агрегаты для указанных тегов c?
Если я добавляю агрегацию tags
, она группирует их по уникальному конкататному тексту для каждой записи. Это снова работает для простого поиска, но не для группировки по отдельным тегам.