【问题标题】:rails solr search limit total search results / get fixed number of resultsrails solr search 限制总搜索结果/获得固定数量的结果
【发布时间】:2012-11-30 12:20:24
【问题描述】:

我正在尝试执行搜索,对结果进行随机排序,并且只返回一些结果,而不是所有匹配项。限制(2)之类的东西 我试过使用 Solr 参数“行”,但这似乎没有任何作用:

@featured_articles = Article.search do 
  with(:is_featured, true)
  order_by :random
  adjust_solr_params do |params|
    params[:rows] = 2
  end
end

@featured_articles.total 应该是 2,但它返回超过 2

如何获得随机固定数量的结果?

【问题讨论】:

    标签: ruby-on-rails search solr sunspot-rails sunspot-solr


    【解决方案1】:

    不用调整参数,直接加一行:

    order_by :random
    rows :2
    

    请看这里:http://wiki.apache.org/solr/CommonQueryParameters

    【讨论】:

      【解决方案2】:

      所有 ruby​​ 示例..

      @featured_articles = Article.search do 
        with(:is_featured, true)
        order_by :random
      end.shuffle.take(2)
      

      如果您不需要 Solr,取决于您的数据库,您也可以这样做:Article.where(is_featured: true).order("RANDOM()").limit(2)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-02
        • 1970-01-01
        • 1970-01-01
        • 2014-11-27
        • 1970-01-01
        • 2013-10-07
        相关资源
        最近更新 更多