ruby-on-rails-3 - elasticsearch/tyre如何正确返回默认记录集?

标签 ruby-on-rails-3 elasticsearch tire

返回默认记录集的最佳方法是什么?如果没有返回搜索结果。当前正在使用下面的代码,但是感觉不正确。

def self.search(params)

      puts "SEARCH PARAM ="
      puts params

      if params
        tire.search(load: true, page: params[:page], per_page: 20, :default_operator => 'AND', :use_dis_max => true) do
          query do
            boolean do
              must { string 'gamers:2' } if params[:gamers] == "2"
              must { string 'gamers:4' } if params[:gamers] == "4"
            end
          end
          to_curl
        end
      else
        puts "search params not found"
        @gamers = Gamers.where(:level => "rookie")
      end
    end

最佳答案

看起来您只是在没有传递参数而没有返回搜索结果的情况下才放入默认设置。

我会得到搜索结果,并检查!results.total.zero? ,然后相应地拉默认设置

关于ruby-on-rails-3 - elasticsearch/tyre如何正确返回默认记录集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156218/

相关文章:

ruby-on-rails-3 - 用arel中的联合重写复杂的查询?

elasticsearch - 如何在Elasticsearch中将某些单词组合成 token ?

elasticsearch - Elasticsearch对嵌套字段的不同计数

elasticsearch - 使用轮胎的模块的映射和设置

ruby-on-rails-3 - 设计对多个并发 session 的支持

ruby-on-rails-3 - 网址中带有:username的路由错误

ruby-on-rails-3 - 序列化数组字段的 Rails simple_form 复选框

elasticsearch - 有没有办法减少结果的内部数组?

lucene - 如何设置ElasticSearch以对电子邮件地址执行SQL LIKE “%”?

ruby-on-rails - Elasticsearch -获取匹配字段