Elasticsearch / Searchkick имеет много объединений ассоциаций - PullRequest
0 голосов
/ 18 марта 2020

У меня есть набор простых агрегатов для добавления интерфейса типа фильтра к моему поиску. Вот так:

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, она группирует их по уникальному конкататному тексту для каждой записи. Это снова работает для простого поиска, но не для группировки по отдельным тегам.

...