【问题标题】:Rails tire gem filtering results in controllerRails 轮胎宝石过滤结果在控制器中
【发布时间】:2013-10-20 14:42:09
【问题描述】:

是否可以在控制器中使用 elasticsearch 轮胎 gem 发布过滤查询? 我有一个产品模型,它有一个 self.search 方法,它返回一个结果数组, 但我想在某些情况下过滤控制器中的结果。

例如:当current_user.location 是“伦敦”时,我只想在伦敦展示产品。 有可能吗?

if current_user.location == 'london'
@products = Product.search(params).results.filter('location:london')
end

【问题讨论】:

    标签: ruby-on-rails search filter gem tire


    【解决方案1】:

    事后尝试过滤对象数组将非常低效且缓慢。这也会使正确进行分页变得非常困难。您最好先搜索和过滤(以便 ElasticSearch 完成工作),然后调用结果。

    Product.search(params).filter(:terms, :location => ['london']).results
    

    https://github.com/karmi/retire#usage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      相关资源
      最近更新 更多