Как найти связанные атрибуты модели из каждого результата в наборе результатов Sphinx?(Rails, ThinkingSphinx) - PullRequest
0 голосов
/ 21 марта 2011

У меня есть следующие модели Rails:

ad
category

ad belongs to category

Когда я выполняю поиск по объявлению, в поиске совпадает только заголовок рекламы, я хочу узнать, сколько объявлений вНабор результатов относится к каждой категории, так что я могу затем создать список названий категорий, показывающий, сколько подходящих объявлений есть в каждом.

Я не знаю, как извлечь названия категорий и количество объявлений в каждой категории.из набора результатов sphinx, вы можете помочь?

1 Ответ

0 голосов
/ 22 марта 2011

Наилучшим подходом для получения сводной информации о количестве объявлений в категории является добавление атрибута category_id к определению вашего рекламного индекса и пометка его также как аспект.

has category_id, :facet => true

Затем, после запуска rake ts:rebuild, чтобы Sphinx знал о ваших изменениях, запустите поиск фасетов:

Ad.facets[:category_id] # => {1 => 10, 2 => 4}

Дополнительный шаг, который вам нужно сделать самостоятельно, - перевести каждый идентификатор категории (ключи полученного хэша) в модель / имя категории.

...