如何使用elasticsearch进行排序?

时间:2013-02-07 16:34:20

标签: ruby-on-rails ruby ruby-on-rails-3 elasticsearch tire

我正在尝试制作排序descasc的方法。我正在使用rails,tire gem和elasticsearch。我想弄清楚我可以在URL中发送什么类型的参数

所以我在搜索块中定义它正在对结果desc顺序进行排序。

sort { by :price, "desc"}

当用户在 new-york 中搜索公寓时,结果是排序顺序。

搜索查询/网址如下所示:

http://localhost:3000/apartmens?utf8&query=newyork

为什么我不能在网址中添加sort-params,如下所示:

http://localhost:3000/apartmens?utf8&query=newyork&sort=asc

1 个答案:

答案 0 :(得分:0)

我相信会是这样的。

params[:sort] ||= 'asc'
Tire.search('apartmens') do |s| 
   s.query do |q|
     q.string 'newyork'
   end
   s.sort { by :__FIELD_YOU_WANT_TO_SORT_, params[:sort]}
end