Я использую Rails 3.2 и мышление Sphinx 3. У меня есть следующие связанные модели:Thinking Sphinx индексации вложенных моделей
# country.rb
class Country < ActiveRecord::Base
has_many :states
end
# state.rb
class State < ActiveRecord::Base
belongs_to :country
has_many :state_shops
has_many :shops, :through => :state_shops
end
# state_shop.rb
class StateShop < ActiveRecord::Base
belongs_to :state
belongs_to :shop
end
# shop.rb
class Shop < ActiveRecord::Base
end
В country.rb
, я хочу найти имя shop
. Вот мой индекс country
:
# country_index.rb
ThinkingSphinx::Index.define :country, :with => :active_record do
indexes :name
has budget, duration, overall_rating, created_at
end
Как должен мой соответствующий индекс в порядке поиска в shop.name
?
Извините, я далеко от своего личного ноутбука, поэтому я не могу проверить это. Если несколько запросов в одной стране соответствуют запросу, как мне его группировать? Большое спасибо, Pat. – Victor
Если несколько магазинов совпадают, вы все равно собираетесь вернуть эту страну один раз, а не много раз. Вы ищете страны, и Sphinx не повторяет результаты в рамках определенного поиска. – pat
Миллион спасибо! – Victor