Sunspot Solr указать смещение и предел - PullRequest
3 голосов
/ 15 апреля 2011

Мне известно о том, как разбить поисковый запрос solr на жемчужину солнечного пятна. Но я хотел бы указать точную начальную строку и максимальное количество строк для выборки.

Например, что-то вроде:

Post.search do
  rows(:offset => 2, :limit => 23)
end

Как я могу это сделать?

Ответы [ 2 ]

9 голосов
/ 15 апреля 2011

Похоже, я ответил на свой вопрос. Это можно сделать так:

Post.search do
  adjust_solr_params do |sunspot_params|
    sunspot_params[:start] = 2
    sunspot_params[:rows] = 23
  end
end
7 голосов
/ 30 октября 2011

Sunspot 1.3.0 (на данный момент не выпущено, но должно быть выпущено в ближайшее время) будет иметь параметр :offset, равный paginate: https://github.com/sunspot/sunspot/commit/2a99fd395a49f4137fd4d2ced0610367ecabf4fe

Таким образом, вы сможете написать что-то вроде:

paginate(:offset => 2, :per_page => 23)
...