opensas
opensas

Reputation: 63555

elasticsearch set sort order using querystring

I have the following simple elastisearch query:

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

And it works fine

Now I'm trying to order by anio desc. I tried with all these options:

...l&sort=anio desc

...l&sort=-anio

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

But none of them seemed to work

How can I achieve it? (ideally, from the querystring, without having to use a more complex query)

Upvotes: 44

Views: 95221

Answers (3)

Sergei Afanasenko
Sergei Afanasenko

Reputation: 1

A simple example of how to sort indices in Management -> Dev Tools:

GET _cat/indices?s=index:desc

Upvotes: 0

Vinay Vemula
Vinay Vemula

Reputation: 3995

To answer opensas question

elasticsearch set sort order using querystring

this feature is called as multilevel sorting.

Example query is

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

Order is important. Results are sorted by the first criterion first. Only results whose first sort value is identical will then be sorted by the second criterion, and so on. http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_sorting.html#_multilevel_sorting

Upvotes: 21

Diego Basch
Diego Basch

Reputation: 13079

Try sort=anio:desc.

See search API - uri request for a list of parameters.

Upvotes: 64

Related Questions