Я раньше не реализовывал функцию поиска и чувствую себя немного застрявшим. У меня есть функция поиска Sunspot, которая находит результаты по ключевым словам - это прекрасно работает - но теперь я хочу реализовать функцию множественного выбора фасетов, но я даже не могу понять, как настроить базовый поиск фасетов.
У меня есть отношения многие ко многим (на рельсах, а не в реальной жизни):
Класс Люди has_many: навыки,: через => опыт (и наоборот и т.д.)
Class People < ActiveRecord::Base
has_many :skills, :through => experience
searchable do
text :first_name, :surname
end
end
В контроллере
@search = Sunspot.search(People)
facet :skill_ids
end
Это основной пример, с которым я не могу работать. Он генерирует эту ошибку:
Sunspot::UnrecognizedFieldError: No field configured for People with name 'skill_ids'
Как создать ссылку на: skill_ids
Я думаю, что мне не хватает некоторой ссылки в модели - но ни один из примеров, которые я могу найти, не ссылается на идентификаторы отношений. В большинстве примеров, которые я нашел, используются столбцы, которые уже есть в этой модели при использовании функциональности фасетов.
- Как мне заставить работать базовую реализацию?
- Как бы я использовал это в представлении - нужно ли вызывать hit.facet и перебирать навыки? Как будет выглядеть код для отображения этого?
- Как выбрать несколько фасетов для поиска?
- Должен ли я поместить это в вики сообщества?
Спасибо, что уделили время!