【问题标题】:How to sort with elasticsearch?如何用elasticsearch排序?
【发布时间】:2013-01-23 05:59:28
【问题描述】:

我正在尝试制定对descasc 进行排序的方法。我正在使用 rails、tire gem 和 elasticsearch。我想弄清楚我可以在 URL 中发送哪些排序参数

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

sort { by :price, "desc"}

当用户在 new-york 搜索公寓时,结果为降序排序。

搜索查询/URL 如下所示:

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

为什么我不能在 url 中添加排序参数,像这样:

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

【问题讨论】:

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


    【解决方案1】:

    我相信会是这样的。

    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
    

    【讨论】:

    • 迈克是对的。 SHUMAcupcake,看看轮胎的集成测试,github.com/karmi/tire/blob/master/test/integration/sort_test.rb
    • @karmi 感谢您的回答!
    • 由于某种原因,按日期字段排序不是排序。它适用于所有其他类型(整数和浮点数)。当它是日期字段时,是否应该使用特定的语法?
    猜你喜欢
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2015-01-23
    • 2021-08-13
    • 2021-12-13
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多