Я предположил, что ваши модели похожи на приведенные ниже:
class Person < ActiveRecord::Base
belongs_to :country
define_index
indexes :name
indexes country(:name), :as => country_name
end
end
class Country < ActiveRecord::Base
has_many :people # has_many :persons # depending on your singular/plural case
define_index
indexes :name
end
end
Таким образом, вы можете получить результат, не имея 3 (третье условие), выполнив запрос:
ThinkingSphinx.search :conditions => {:name => params[:q]}, :classes => [Person, Country]
Но, если вы хотите создать несколько индексов для модели, это можно сделать, как показано ниже:
class Person < ActiveRecord::Base
belongs_to :country
define_index :my_first_in do
indexes :name
indexes country(:name)
end
define_index :my_second_in do
indexes :name
end
end