2012-12-15 19 views
17

Mam następujące proste zapytanie elastisearch:elasticsearch określić kolejność sortowania za pomocą kwerendy

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

i działa dobrze

Teraz próbuję zamówić przez Anio oszcz. Próbowałem z wszystkich tych opcji:

...l&sort=anio desc 

...l&sort=-anio 

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

Ale żaden z nich nie wydawał się działać

Jak mogę to osiągnąć? (najlepiej z zapytania kwerendowego, bez konieczności stosowania bardziej złożonego zapytania).

+2

Spróbuj sort = Anio: desc –

+0

dzięki dużo Diego, podaj go jako odpowiedź więc mogę go przyjąć! – opensas

+0

BTW, ktoś wie, jak zamówić przez kilka pól, takich jak anio, cuenta, podeta ??? z que querystring – opensas

Odpowiedz

31

Spróbuj sort = anio: desc.

Aby uzyskać listę parametrów, patrz search API - uri request.

+0

Godd Job Buddy ,. Czy wiesz, czy możemy użyć GroupBy w ciągu kwerendy? Również chcę policzyć z GroupBy. Czy to możliwe ? –

2

Aby odpowiedzieć opensas pytanie

elasticsearch set sort order using querystring

ta funkcja nazywa się wielopoziomowego sortowania.

Przykład zapytanie jest

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

Zamówienie jest ważne. Wyniki są najpierw sortowane według pierwszego kryterium. Tylko wyniki, których pierwsza wartość sortowania jest identyczna, zostaną następnie posortowane według drugiego kryterium i tak dalej. http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_sorting.html#_multilevel_sorting

Powiązane problemy