web-dev-qa-db-ja.com

elasticsearchはクエリ文字列を使用してソート順を設定します

次の簡単なelastisearchクエリがあります。

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

しかし、それらのどれも機能していないようでした

どうすれば達成できますか? (理想的には、クエリ文字列から、より複雑なクエリを使用する必要なし)

20
opensas

Sort = anio:descを試してください。

パラメーターのリストについては、 search API-uri request をご覧ください。

43
Diego Basch

Opensas質問に回答するには

クエリ文字列を使用したElasticsearchセットのソート順

この機能は、マルチレベルの並べ替えと呼ばれます。

クエリの例は

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

順序が重要です。結果は最初に最初の基準でソートされます。最初の並べ替え値が同じ結果のみが、2番目の基準で並べ替えられます。 http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_sorting.html#_multilevel_sorting

2
Vinay Vemula