Solr (Sunspot), максимальные результаты более 30? - PullRequest
3 голосов
/ 27 января 2011

Я использую Solr через Sunspot для рельсов, но не могу понять, как вернуть более 30 результатов?

Скажите, у меня есть этот блок для поиска:

posts = Post.search do
  keywords('something')
end

Как мне установить, что пятно должно возвращать всех совпадений, а не только 30?

Ответы [ 3 ]

15 голосов
/ 27 января 2011

Вы можете использовать paginate:

posts = Post.search do
  keywords 'something'
  paginate :page => 1, :per_page => 100
end

Чтобы изменить количество результатов по умолчанию, добавьте следующее к application.rb или его собственному файлу инициализатора.

Sunspot.config.pagination.default_per_page = 30

Источник

5 голосов
/ 27 января 2011

Чтобы уточнить, Solr всегда разбивает на страницы результаты - 30 - произвольное значение по умолчанию, но всегда есть длина страницы. Если вы хотите получить все результаты, вы можете установить очень большую длину страницы или пролистать результаты в своем коде, чтобы создать массив со всеми результатами (последний, вероятно, предпочтительнее).

1 голос
/ 12 марта 2012

Вы также можете изменить свою конфигурацию solr, как указано здесь: http://solr.pl/en/2011/01/10/optimization-query-result-window-size/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...