太阳黑子solr搜索,如何一次返回所有记录?

Bij*_*dra 8 solr ruby-on-rails sunspot sunspot-rails

我在我的rails应用程序中使用solr via sunspot,我需要返回超过30条默认设置的记录.我可以在Sunspot solr说到这一点, 但我不希望对数据进行分页.我想在一个页面中显示所有数据而不管行数.提供硬编码值也不是我正在寻找的可能解决方案.

jhd*_*ds8 11

Solr总是分页,所以看起来没有办法通过Sunspot禁用分页(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
Run Code Online (Sandbox Code Playgroud)

  • 小心.然而`per_page:10**10`给出了一个错误(超出最大值,我猜),因此可以使用静态`per_page:10**9`代替每次`Service.count` (2认同)