Rails Solr 搜索限制总搜索结果数/获取固定数量的结果



我正在尝试执行搜索,随机排序结果,并且只返回许多结果,而不是所有匹配项。类似极限的东西(2)我尝试使用 Solr 参数"行",但这似乎没有任何作用:

@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

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

与其调整参数,不如添加一行:

order_by :random
rows :2

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

所有 ruby 示例。

@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)

最新更新