我正在尝试执行搜索,随机排序结果,并且只返回许多结果,而不是所有匹配项。类似极限的东西(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)