Ruby on rails 3 Rails 3限制选定记录的太阳黑子

Ruby on rails 3 Rails 3限制选定记录的太阳黑子,ruby-on-rails-3,limit,sunspot,Ruby On Rails 3,Limit,Sunspot,目前,我正在使用Sunspot从多个表中进行选择。我限制选择的记录,条件是创建日期必须在过去5天内。然而,我想更进一步,限制所选记录的数量,比如说,20?太阳黑子有没有办法做到这一点?我没有做任何花哨的分组或任何事情。只需选择属于各种型号的记录并将其显示在屏幕上即可 我当前的代码: @updates = Sunspot.search(Upload,Help, User...) do with(:created_at).greater_than(5.days.ago)

目前,我正在使用Sunspot从多个表中进行选择。我限制选择的记录,条件是创建日期必须在过去5天内。然而,我想更进一步,限制所选记录的数量,比如说,20?太阳黑子有没有办法做到这一点?我没有做任何花哨的分组或任何事情。只需选择属于各种型号的记录并将其显示在屏幕上即可

我当前的代码:

@updates = Sunspot.search(Upload,Help, User...) do
      with(:created_at).greater_than(5.days.ago)      
      order_by(:created_at, :desc)
end  
我尝试添加Github上指定的'limit'子句,但这产生了一个未定义的方法错误,可能是因为我正在进行全局太阳黑子搜索,而不是在特定模型上进行搜索

错误代码:

@updates = Sunspot.search(Upload,Help, User...) do
          with(:created_at).greater_than(5.days.ago)      
          order_by(:created_at, :desc)
          limit(20)
end 
错误消息:

undefined method `limit' for #<Sunspot::DSL::Search:0x0000000790b8c8>

极限法适用于组。看见Sunspot提供分页功能,并在自述文件中像一个符咒一样工作。具体来说,请尝试以下方法:

@updates = Sunspot.search(Upload,Help, User...) do
  with(:created_at).greater_than(5.days.ago)      
  order_by(:created_at, :desc)
  paginate page: 1, per_page: 20
end 

极限法适用于组。看见Sunspot提供分页功能,并在自述文件中像一个符咒一样工作。具体来说,请尝试以下方法:

@updates = Sunspot.search(Upload,Help, User...) do
  with(:created_at).greater_than(5.days.ago)      
  order_by(:created_at, :desc)
  paginate page: 1, per_page: 20
end 

发布代码生成错误和错误片段本身。查看更新的问题发布代码生成错误和错误片段本身。查看更新的问题现在如果我说10000条记录,查询会搜索所有10000条记录,然后将其略读到20条,还是只选择它需要的20条分页是由solr完成的,而且非常有效。因此,在上面的sunspot查询中,solr返回按创建日期排序的前20个文档。如果你想要21-40,设置页面:2。使用Kaminari gem,您可以设置page:params[:page]。好吧,这听起来很棒,因为我正在运行的查询发生在主页上,这是我最不希望看到性能点击的地方。感谢您的输入。这就是计划,只要我有机会尝试codeNow,如果我说10000条记录,查询会搜索所有10000条记录,然后将其略读到20条,还是只选择它需要的20条?分页由solr完成,而且非常有效。因此,在上面的sunspot查询中,solr返回按创建日期排序的前20个文档。如果你想要21-40,设置页面:2。使用Kaminari gem,您可以设置page:params[:page]。好吧,这听起来很棒,因为我正在运行的查询发生在主页上,这是我最不希望看到性能点击的地方。谢谢你的输入。这就是计划,只要我有机会尝试代码