Поиск солнечных пятен, как вернуть все записи сразу?

Я использую solr через sunspot в своем приложении rails, где мне нужно вернуть более 30 записей, которые установлены по умолчанию. Я могу сделать это, как сказано в Sunspot solr, но я не нужна разбивка на страницы для данных. Я хочу отображать все данные на одной странице независимо от строк. Также предоставление жестко закодированного значения не является вероятным решением, которое я ищу.


person Bijendra    schedule 29.12.2011    source источник


Ответы (1)


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
person jhdavids8    schedule 29.12.2011
comment
yaa .. я думал то же самое и оставил вариант напоследок, но пришлось реализовать, так как не мог получить никакого другого решения. - person Bijendra; 30.12.2011
comment
будь осторожен. но per_page: 10**10 выдает ошибку (я думаю, превышающую максимум), поэтому можно использовать статический per_page: 10**9, например, вместо Service.count каждый раз - person okliv; 04.03.2014