2012-12-15 12 views
17

मैं निम्नलिखित सरल elastisearch प्रश्न हैं:elasticsearch सेट तरह querystring का उपयोग कर आदेश

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

प्रकार = anio का प्रयास करें: desc –

+0

बहुत बहुत शुक्रिया डिएगो, यह एक जवाब के रूप में दर्ज करें तो मैं इसे स्वीकार कर सकते हैं! – opensas

+0

बीटीडब्ल्यू, कोई भी जानता है कि कई क्षेत्रों द्वारा ऑर्डर कैसे करें, जैसे एनीओ, क्यूएंटा, सबकुएंटा ??? que querystring से – opensas

उत्तर

31

सॉर्ट करें = anio: desc।

पैरामीटर की सूची के लिए search API - uri request देखें।

+0

गॉड जॉब बडी। क्या आप जानते हैं कि क्या हम क्वेरी स्ट्रिंग में ग्रुपबी का उपयोग कर सकते हैं? इसके अलावा मैं 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