【问题标题】:Solr (Sunspot), max results more than 30?Solr(太阳黑子),最大结果超过 30?
【发布时间】:2011-06-16 05:35:38
【问题描述】:

我通过 Sunspot 将 Solr 用于 rails,但我不知道如何返回超过 30 个结果?

假设我有这个搜索块:

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

我如何确定太阳黑子应该返回所有的匹配项,而不仅仅是 30 个?

【问题讨论】:

    标签: ruby-on-rails solr


    【解决方案1】:

    您还可以按照此处所述修改您的 solr 配置:http://solr.pl/en/2011/01/10/optimization-query-result-window-size/

    【讨论】:

      【解决方案2】:

      澄清一下,Solr 总是对结果进行分页——30 是任意默认值,但总有一个页面长度。如果您想要所有结果,您可以设置一个非常高的页面长度,或者在代码中对结果进行分页以组成一个包含所有结果的数组(后者可能更可取)。

      【讨论】:

      • 跛脚!为什么结果集没有像“next”这样的方法来为我们做这件事? T.T;
      【解决方案3】:

      你可以使用paginate:

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

      要更改默认结果数,请将以下内容添加到 application.rb 或其自己的初始化程序文件中。

      Sunspot.config.pagination.default_per_page = 30
      

      Source

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-22
        • 2014-03-29
        • 1970-01-01
        相关资源
        最近更新 更多