stored specify sort script_fields results query fields _source sorting elasticsearch

sorting - specify - Elasticsearch: ordenando el entero desc



sort elasticsearch (1)

debe agregar ceros a sus números, por lo que tendrá [0001, 0010, 0002, 0005] en lugar de [1, 10, 2, 5]. El número de ceros a la izquierda que haya agregado dependerá del valor máximo que crea que tendrá. por ejemplo, si crees que será inferior a 10 mil millones, entonces debes almacenar 0000000005 (9 ceros) en lugar de 5 y 0000000010 (8 ceros) en lugar de 10

Al ordenar por campo entero en elasticsearch (versión "1.1.2") mediante la consulta:

{ "query": { "match_all": {} }, "sort": [ { "cubicCapacity": { "order": "asc", "ignore_unmapped": true } } ], "from": 0, "size": 150 }

El resultado es correcto y los documentos se ordenan en orden natural (1, 2, 5, 10)

Pero al intentar completar la misma consulta usando "desc":

{ "query": { "match_all": {} }, "sort": [ { "cubicCapacity": { "order": "desc", "ignore_unmapped": true } } ], "from": 0, "size": 150 }

El resultado no es correcto y los documentos se ordenan de forma extraña, pero se espera que sean (10, 5, 2, 1).

Entonces, ¿por qué ordenar con "desc" no podría dar un resultado correcto con un orden natural?

PS Al ordenar por asc / desc pero con un tipo de cadena (1, 10, 2, 5), "desc" funciona correctamente (5, 2, 10, 1)