rails solr搜索限制总搜索结果/得到固定的结果数

时间:2012-12-12 17:58:40

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

我正在尝试执行搜索,随机排序结果,并且只返回一些结果,而不是所有匹配。像限制的东西(2) 我尝试过使用Solr param'rows',但似乎没有做任何事情:

@featured_articles = Article.search do 
  with(:is_featured, true)
  order_by :random
  adjust_solr_params do |params|
    params[:rows] = 2
  end
end

@ featured_articles.total应为2,但返回的次数超过2

如何获得随机固定数量的结果?

2 个答案:

答案 0 :(得分:1)

而不是调整参数,只需添加一行:

order_by :random
rows :2

见这里:http://wiki.apache.org/solr/CommonQueryParameters

答案 1 :(得分:0)

所有红宝石的例子..

@featured_articles = Article.search do 
  with(:is_featured, true)
  order_by :random
end.shuffle.take(2)

如果您不需要Solr,您可以执行以下操作:Article.where(is_featured: true).order("RANDOM()").limit(2)