¿Cómo ordeno en elasticsearch??

¿Cómo ordeno en elasticsearch??
Puede ordenar los resultados de ElasticSearch utilizando la palabra clave de clasificación. La consulta de clasificación requiere que proporcione un campo bajo el cual clasificar. Elasticsearch no admite la clasificación en los campos de texto de tipo.

En esta breve guía, veremos cómo ordenar los resultados de la consulta en Elasticsearch.

Uso básico

Puede ordenar los resultados utilizando un método de línea en una consulta. Por ejemplo:

Get /kibana_sample_data_flights /_search?Q= DestCityName: Denver & Sort = AVGTicketPrice

En la consulta de ejemplo anterior, obtenemos todos los documentos en los que el nombre de campo es igual a Denver y luego ordenamos los resultados en el precio de AVGticket.

La consulta resultante debe incluir los documentos donde la ciudad es Denver, con los precios de las entradas ordenados en orden ascendente.

El ejemplo de salida es como se muestra:

Aunque el método de una línea puede ser útil cuando necesita realizar un tipo rápido, no es muy legible y puede complicarse cuando necesita ordenar múltiples campos.

Para resolver esto, puede usar el método recomendado de consulta Elasticsearch. Por ejemplo, podemos escribir la consulta anterior como:

Get /kibana_sample_data_flights /_search

"consulta":
"fósforo":
"DestCityName": "Denver"


, "clasificar": [

"AvgticketPrice":
"Orden": "ASC"


]

Esta consulta funciona de manera similar al método de una línea que se muestra arriba. Sin embargo, es más descriptivo y es más legible.

Ordenar por orden ascendente

Para cambiar por orden inverso, puede cambiar el orden de ASC a DESC, que ordenará los valores de los más altos a los más bajos como se muestra:

Get /kibana_sample_data_flights /_search

"consulta":
"fósforo":
"DestCityName": "Denver"


, "clasificar": [

"AvgticketPrice":
"Orden": "Desc"


]

La salida de ejemplo es como se muestra:

Clasificación de distancia de geo

Elasticsearch le permite ordenar por geo-información utilizando el parámetro _geo_distance. Por ejemplo, considere la siguiente consulta:

Get /kibana_sample_data_flights /_search

"consulta":
"fósforo":
"Destcountry": "nosotros"

,
"clasificar": [

"_geo_distance":
"OriginLocation":
"Lat": 30,
"Lon": -103
,
"Orden": "Desc"


]

La consulta anterior debe devolver los registros donde el país de destino es igual a los EE. UU. Y la ubicación está dentro del rango de latitud y longitud especificados.

Ordenar por tipo de texto

La clasificación no se limita a los valores numéricos, se clasifica por texto como:

Get /kibana_sample_data_flights /_search

"consulta":
"fósforo":
"DestCityName": "Sydney"

,
"clasificar": [

"Transportador":
"Orden": "Desc"


]

Conclusión

En este tutorial, cubrimos cómo ordenar los resultados de una consulta de Elasticsearch utilizando la palabra clave de clasificación. Consulte la documentación para obtener más información.