太阳黑子Solr指定偏移和限制

Jey*_*ran 3 ruby solr ruby-on-rails sunspot sunspot-rails

我知道如何通过太阳黑子宝石对solr搜索进行分页.但是我想指定要获取的确切开始行和最大行数.

例如,类似于:

Post.search do
  rows(:offset => 2, :limit => 23)
end
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Jey*_*ran 9

好像我回答了我自己的问题.可以这样做:

Post.search do
  adjust_solr_params do |sunspot_params|
    sunspot_params[:start] = 2
    sunspot_params[:rows] = 23
  end
end
Run Code Online (Sandbox Code Playgroud)


And*_*man 7

太阳黑子1.3.0(截至目前未发布,但应尽快发布)将有一个:offset参数paginate:https://github.com/sunspot/sunspot/commit/2a99fd395a49f4137fd4d2ced0610367ecabf4fe

所以你可以写下这样的东西:

paginate(:offset => 2, :per_page => 23)
Run Code Online (Sandbox Code Playgroud)