2013-10-12 31 views
0

是否可以使用elasticsearch輪胎寶石在控制器中過濾查詢? 我有一個產品模型,它有一個self.search方法返回結果數組, 但我想在某些情況下在控制器中篩選結果。Rails輪胎寶石在控制器中的過濾結果

例如:當current_user.location是'倫敦'我只想在倫敦展示產品。 是否有可能這樣做?

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

回答

0

試圖過濾事件後的對象數組將非常低效和緩慢。這也會很難正確地進行分頁。你最好先搜索和過濾(以便ElasticSearch正在完成這項工作),然後調用結果。

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

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

相關問題