如何排序弹性搜索? [英] How to sort with elasticsearch?

查看:192
本文介绍了如何排序弹性搜索?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在设法排序 desc asc 的方法。我使用轨道,轮胎宝石和弹性搜索。我试图找出我可以在URL中发送什么样的params



所以我已经在搜索块中定义了它正在排序结果desc顺序。 p>

  sort {by:price,desc} 

当用户在纽约中搜索公寓时,结果是排序顺序。



搜索查询/ URL如下所示:

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

为什么我不能在url中添加一个sort-params,如下所示:

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


解决方案

我相信会是这样的。

  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
/ pre>

I am trying to make methods for sorting desc and asc. I am using rails, tire gem and elasticsearch. I am trying to figure out what sort params I can send in the URL

So I have defined in the search-block that it is sorting the result desc order.

sort { by :price, "desc"}

When a user search for apartments in: new-york the result is sort desc order.

The search query/URL looks like this:

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

Why cant I add a sort-params in the url, like this:

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

解决方案

I believe it would be something like this.

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

这篇关于如何排序弹性搜索?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆