elasticsearch使用查询字符串设置排序顺序

时间:2012-12-15 17:38:45

标签: sorting elasticsearch

我有以下简单的弹性查询:

http://localhost:9200/apn/presupuesto/_search?q=subcuenta:penal&sort=anio

它工作正常

现在我正试图通过anio desc订购。我尝试了所有这些选项:

...l&sort=anio desc

...l&sort=-anio

...l&sort=anio&order=desc

但他们似乎都没有工作

我怎样才能实现它? (理想情况下,从查询字符串中,无需使用更复杂的查询)

2 个答案:

答案 0 :(得分:43)

尝试sort = anio:desc。

有关参数列表,请参阅search API - uri request

答案 1 :(得分:2)

回答opensas问题

elasticsearch set sort order using querystring

此功能称为多级排序。

示例查询

GET /_search
{
    "query" : {
        "filtered" : {
            "query":   { "match": { "tweet": "manage text search" }},
            "filter" : { "term" : { "user_id" : 2 }}
        }
    },
    "sort": [
        { "date":   { "order": "desc" }},
        { "_score": { "order": "desc" }}
    ]
}
  

订单很重要。结果首先按照第一个标准排序。只有第一个排序值相同的结果才会按第二个标准排序,依此类推。   http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_sorting.html#_multilevel_sorting