如何使用太阳黑子实现多模型搜索

时间:2012-09-20 11:06:26

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

有两种模式User和Language,具有关联(has_many:languages)。现在我想搜索一个语言名称,获得的搜索也应该告诉用户ID。换句话说,该语言属于哪个用户。

如何使用太阳黑子实现相同目的。

此致 卡兰

1 个答案:

答案 0 :(得分:0)

我不明白你究竟需要什么,我希望这篇文章可以帮到你一点。

    class User < ActiveRecord::Base 

     has_many :languages

     # Searchable block for Sunspot-Solr

     searchable do

       # for facet search
       integer :language_id , :multiple => true , :references => Language do
         languages.collect(&:id).compact if languages.any?
       end

       # for text Search
       text :languages , :boost => 5 do
         languages.map {|language| language.name } if languages.any?
       end

     end

    end