我正在使用思考sphinx(版本2.0.11)进行搜索,但是我遇到了一些问题。假设我有一个名为Product的模型,我正在使用思考sphinx来搜索产品。产品属于公司,公司有很多领域,一个地区也有很多公司。以下是我的一些代码:
class Product < ActiveRecord::Base
#....skip some code...
belongs_to :company
belongs_to :area
define_index do
indexes :name
indexes description
indexes company(:name)
indexes company.introduction
indexes company.areas.area #column of model area
end
end
这是我的模特公司和区域
class Company < ActiveRecord::Base
has_many :products
has_many :areaships
has_many :areas, :through => :areaships
end
class Area < ActiveRecord::Base
has_many :areaships
has_many :companies, :through => :areaships
has_many :products, :through => :companies
end
正如您所看到的,产品属于公司,公司拥有并属于许多领域。如何使用思维sphinx搜索特定产品的区域?假设该地区是巴黎,如果我在巴黎订房,我应该得到属于巴黎某些公司的所有产品的结果。我已经尝试了好几天,但仍然无法弄明白。任何帮助表示赞赏。