2012-12-15 30 views
17

我有以下簡單elastisearch查詢:elasticsearch設置排序順序使用查詢字符串

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

,它工作正常

現在,我試圖通過anio遞減訂購。我試圖與所有這些選項:

...l&sort=anio desc 

...l&sort=-anio 

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

但他們都不似乎工作

我怎樣才能實現呢? (理想情況下,來自查詢字符串,而不必使用更復雜的查詢)

+2

嘗試排序= anio:倒序 –

+0

非常感謝迭戈,請輸入它作爲一個答案,所以我可以接受它! – opensas

+0

順便說一句,任何人都知道如何訂購幾個領域,如anio,cuenta,subcuenta ???從que querystring – opensas

回答

31

嘗試sort = anio:desc。

有關參數列表,請參見search API - uri request

+0

Godd Job Buddy ,.你知道我們是否可以在查詢字符串中使用GroupBy? 另外我想用GroupBy來計數。可能嗎 ? –

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