是否可以在Sunspot solr中合并两个关联表

时间:2012-08-17 07:28:48

标签: ruby-on-rails-3 sunspot sunspot-rails sunspot-solr

我有四张桌子。它们是品牌,部门,类别和product_details。模型是

品牌模型

class Brand < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
  searchable do
    integer :id
    text :name
  end
end

部门模型

class Department < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
  searchable do
    integer :id
    text :name
  end  
end

类别模型

class Category < ActiveRecord::Base
  has_many :product_details, :dependent=>:destroy
  searchable do
    integer :id
    text :name   
  end
end

ProductDetail model

class ProductDetail < ActiveRecord::Base
  belongs_to :department
  belongs_to :category
  belongs_to :brand
  searchable do
    text :name
    text :brand do
      brand.name
    end
    integer :department_id
    integer :category_id
end

如果用户首先搜索部门1,我会根据部门ID获取所有产品详细信息。结果表还必须包含品牌名称,类别名称和部门名称。是否有可能使用太阳黑子solr?怎么样?

1 个答案:

答案 0 :(得分:1)

我认为您应该为每个产品创建一个包含品牌,部门,类别和产品详细信息的文档 然后,您就可以搜索自己想要的内容,并获得所需的信息。