ElasticSearch no devuelve la ID máxima cuando estoy buscando descendiendo id
Tengo URI de índice
contracts/_doc/
Empujo mis documentos allí, la ID es pregenerada por SQL-DB
este es el ejemplo de código del cliente JAVA:
final BulkRequest request = new BulkRequest();
contracts.forEach(e -> request.add(new IndexRequest(CONTRACT_INDEX,
CONTRACT_INDEX_TYPE,
String.valueOf(e.getId()))
.source("contractNumber", e.getContractNumber())
)
);
A veces necesito ver el mayor valor de ID en mi índice, y envío esta consulta
{
"sort" : [
{ "_id" : {"order" : "desc"}}
],
"size": 1
}
El problema es que ElasticSearch siempre devuelve un valor no mayor que9999
"hits": [
{
"_index": "contracts",
"_type": "_doc",
"_id": "9999",
"_score": null,
"_source": {
"contractNumber": "2000/290/990990"
},
"sort": [
"9999"
]
}
]
Cuando estoy realizando una búsqueda con consulta:
{
"size": 10000
}
el resultado real está en el estado correcto, todos mis ID's superiores a 9999 están presentes y seleccionados por
contracts/_doc/10005
devuelve el resultado adecuado.
Por favor, avise cómo puedo resolver esta situación