У меня есть индексы для нескольких разных моделей, и иногда пользователь может искать значение, которое существует в нескольких моделях. Теперь, если пользователь действительно интересуется только данными из одной из моделей, я бы хотел, чтобы пользователь мог предварительно / постфиксировать запрос с чем-то, ограничивающим область.
Например, если я хочу найти совпадение только в моей модели муниципалитета, я настроил индекс в этой модели, чтобы пользователь теперь мог запросить "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
Но есть ли способ, как я могу создать индекс по этой модели, ссылающийся на муниципалитеты, как тот, который у меня есть на саму модель муниципалитета?