我正在尝试执行搜索,随机对结果进行排序,并且只返回一些结果,而不是所有匹配的结果。像limit(2)这样的东西我试过使用Solr参数‘row’,但这似乎没有什么作用:
@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
我怎样才能得到随机的固定数量的结果?
发布于 2012-12-15 02:31:35
不需要调整参数,只需添加一行:
order_by :random
rows :2查看此处:http://wiki.apache.org/solr/CommonQueryParameters
发布于 2012-12-21 22:33:10
所有的红宝石示例..
@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)
https://stackoverflow.com/questions/13845807
复制相似问题