是否可以在控制器中使用elasticsearch轮胎gem过滤查询? 我有一个产品模型,它有一个self.search方法,它返回一个结果数组, 但我想在某些情况下过滤控制器中的结果。
例如:当current_user.location
是'伦敦'时,我只想在伦敦展示产品。
有可能这样做吗?
if current_user.location == 'london'
@products = Product.search(params).results.filter('location:london')
end
答案 0 :(得分:0)
在事实之后尝试过滤对象数组会非常低效和缓慢。这也会使得很难正确地进行分页。你最好首先搜索和过滤(以便ElasticSearch正在开展工作),然后调用结果。
Product.search(params).filter(:terms, :location => ['london']).results