思考狮身人面像对象如何处理属于并且有很多关联?

时间:2012-05-28 04:35:07

标签: ruby-on-rails-3 sphinx thinking-sphinx

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

0 个答案:

没有答案