2

我正在使用 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 搜索特定产品的区域?假设该地区是巴黎,如果我键入巴黎,我应该得到属于巴黎某些公司的所有产品的结果。我已经尝试了几天,但仍然无法弄清楚。任何帮助表示赞赏。

4

0 回答 0