我正在使用 Thinking sphinx(版本 2.0.11)进行搜索,但是遇到了一些问题。假设我有一个名为 Product 的模型,我正在使用 Thinking 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
如您所见,一个产品属于一家公司,而一家公司拥有并属于许多领域。如何使用 Thinking sphinx 搜索特定产品的区域?假设该地区是巴黎,如果我键入巴黎,我应该得到属于巴黎某些公司的所有产品的结果。我已经尝试了几天,但仍然无法弄清楚。任何帮助表示赞赏。