【发布时间】:2011-06-16 05:35:38
【问题描述】:
我通过 Sunspot 将 Solr 用于 rails,但我不知道如何返回超过 30 个结果?
假设我有这个搜索块:
posts = Post.search do
keywords('something')
end
我如何确定太阳黑子应该返回所有的匹配项,而不仅仅是 30 个?
【问题讨论】:
标签: ruby-on-rails solr
我通过 Sunspot 将 Solr 用于 rails,但我不知道如何返回超过 30 个结果?
假设我有这个搜索块:
posts = Post.search do
keywords('something')
end
我如何确定太阳黑子应该返回所有的匹配项,而不仅仅是 30 个?
【问题讨论】:
标签: ruby-on-rails solr
您还可以按照此处所述修改您的 solr 配置:http://solr.pl/en/2011/01/10/optimization-query-result-window-size/
【讨论】:
澄清一下,Solr 总是对结果进行分页——30 是任意默认值,但总有一个页面长度。如果您想要所有结果,您可以设置一个非常高的页面长度,或者在代码中对结果进行分页以组成一个包含所有结果的数组(后者可能更可取)。
【讨论】:
你可以使用paginate:
posts = Post.search do
keywords 'something'
paginate :page => 1, :per_page => 100
end
要更改默认结果数,请将以下内容添加到 application.rb 或其自己的初始化程序文件中。
Sunspot.config.pagination.default_per_page = 30
【讨论】: