2011-12-29 128 views
8

我正在使用solr通过太阳黑子在我的rails应用程序中,我需要返回超过30个默认设置的记录。我可以按 Sunspot solr告诉我,但我不想分页数据。我想在单个页面中显示所有数据,而不考虑行。另外提供硬编码值并不是我正在寻找的可能解决方案。太阳黑子搜索,如何一次返回所有记录?

回答

11

Solr总是分页,所以看起来像无法通过太阳黑子禁用分页(https://groups.google.com/forum/#!topic/ruby-sunspot/kVKfsrDpokc)。我能做的唯一事情就是在搜索前获取模型的记录数,然后将per_page变量设置为该数字,以保证只返回一个页面。这样的事情:

count = Service.count 
@search = Service.search do 
    keywords(params[:search]) 
    paginate :page => 1, :per_page => count 
end 
+0

yaa ..我曾想过一样,并保留最后的选择,但必须执行,因为无法得到任何其他soln。 – Bijendra 2011-12-30 06:45:00

+2

要小心。然而'per_page:10 ** 10'给出了一个错误(超过了最大值,我猜),所以可以使用静态的'per_page:10 ** 9'来代替'Service.count' – okliv 2014-03-04 00:11:56