#ruby-on-rails #ruby #solr #sunspot #sunspot-rails
#ruby-on-rails #ruby #solr #sunspot #sunspot-rails
Вопрос:
Я знаю, как разбить поиск solr на страницы с помощью sunspot gem. Но я хотел бы указать точную начальную строку и максимальное количество строк для выборки.
Например, что-то вроде:
Post.search do
rows(:offset => 2, :limit => 23)
end
Как я могу это сделать?
Ответ №1:
Похоже, я ответил на свой собственный вопрос. Это может быть сделано следующим образом:
Post.search do
adjust_solr_params do |sunspot_params|
sunspot_params[:start] = 2
sunspot_params[:rows] = 23
end
end
Ответ №2:
Sunspot 1.3.0 (на данный момент не выпущен, но должен быть выпущен в ближайшее время) будет иметь :offset
параметр paginate
: https://github.com/sunspot/sunspot/commit/2a99fd395a49f4137fd4d2ced0610367ecabf4fe
Таким образом, вы сможете написать что-то вроде:
paginate(:offset => 2, :per_page => 23)