我正在使用Solr via Sunspot for rails,但我无法弄清楚如何返回30多个结果?
说我有这个搜索块:
posts = Post.search do
keywords('something')
end
我如何确定太阳黑子应该返回所有的比赛,而不仅仅是30?
答案 0 :(得分:15)
您可以使用paginate
:
posts = Post.search do
keywords 'something'
paginate :page => 1, :per_page => 100
end
要更改默认结果数,请将以下内容添加到application.rb
或其自己的初始化文件中。
Sunspot.config.pagination.default_per_page = 30
答案 1 :(得分:5)
为了澄清,Solr 始终分页结果 - 30是任意默认值,但始终有页长。如果你想要所有的结果,你可以设置一个非常高的页面长度,或者在你的代码中翻阅结果来组成一个包含所有结果的数组(后者可能更好)。
答案 2 :(得分:1)
您还可以按照此处所述修改您的solr配置:http://solr.pl/en/2011/01/10/optimization-query-result-window-size/