Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 按类别筛选太阳黑子搜索_Ruby On Rails 4_Solr_Sunspot - Fatal编程技术网

Ruby on rails 4 按类别筛选太阳黑子搜索

Ruby on rails 4 按类别筛选太阳黑子搜索,ruby-on-rails-4,solr,sunspot,Ruby On Rails 4,Solr,Sunspot,我已经使用rails设置了一个sunspot/solr搜索,它的工作方式类似于charme: # run the search search_results = Sunspot.search Project, Question, User, Requests do fulltext params[:search] paginate page: params[:page], per_page: 10 end 按给定类过滤搜索结果可能很酷。例如,URL中有一个类似params[:clas

我已经使用rails设置了一个sunspot/solr搜索,它的工作方式类似于charme:

# run the search
search_results = Sunspot.search Project, Question, User, Requests do
  fulltext params[:search]

  paginate page: params[:page], per_page: 10
end
按给定类过滤搜索结果可能很酷。例如,URL中有一个类似params[:class]的param,如果搜索结果只包含特定类项目、问题、用户、请求的结果,那就太棒了

我就是不知道从哪里开始


希望有人能帮助我

明白了。您只需将类作为字符串添加到可搜索块:

# solr search
searchable do
  text :firstname, :lastname, :email, :position
  integer :account_id
  string :klass
end

def klass
  return self.class.to_s.downcase
end
在那之后,你就可以通过类klass进行过滤了

# run the search
search_results = Sunspot.search Project, Question, User do
  fulltext params[:search]
  with :account_id, params[:account_id]
  with :klass, "question"

  paginate page: params[:page], per_page: 10
end