У меня есть индексы для нескольких разных моделей, и иногда пользователь может искать значение, которое существует в нескольких моделях. Теперь, если пользователя действительно интересуют только данные из одной из моделей, я бы хотел, чтобы пользователь мог пре / постфиксировать запрос чем-то, чтобы ограничить область действия.
Например, если я хочу найти совпадение только в моей модели муниципалитета, я настроил индекс в этой модели, чтобы теперь пользователь мог запрашивать "xyz municipality"
(в кавычках):
define_index do
indexes :name, :sortable => true
indexes "name || ' municipality' name", :as => :extended_name, :type => :string
end
Это прекрасно работает. Теперь у меня также есть модель Person, связанная с муниципалитетом. Я бы хотел, чтобы при поиске только по модели Person была доступна такая же функциональность, чтобы я мог сказать Person.search («xyz municipality») и связать всех людей с этим муниципалитетом. Это мое текущее определение в модели Person:
has_many :municipalities, :through => :people_municipalities
define_index do
indexes [lastname, firstname], :as => :name, :sortable => true
indexes municipalities.name, :as => :municipality_name, :sortable => true
end
Но есть ли способ создать индекс по этой модели со ссылкой на муниципалитеты, как тот, который у меня есть по самой модели муниципалитета?