Dans ce court guide, nous examinerons comment trier les résultats de la requête dans Elasticsearch.
Utilisation de base
Vous pouvez trier les résultats en utilisant une méthode de ligne dans une requête. Par exemple:
Get / kibana_sample_data_flights / _search?q= DestcityName: Denver & Sort = AvgticketPriceDans l'exemple de requête ci-dessus, nous récupérons tous les documents où le champ de destcityName est égal à Denver, puis trie les résultats sur le prix Avgticket.
La requête résultante devrait inclure les documents où la ville est Denver, les prix des billets triés par commande ascendante.
L'exemple de sortie est comme indiqué:
Bien que la méthode en une ligne puisse être utile lorsque vous devez effectuer un tri rapide, il n'est pas très lisible et peut être compliqué lorsque vous devez trier plusieurs champs.
Pour résoudre ce problème, vous pouvez utiliser la méthode de requête Elasticsearch recommandée. Par exemple, nous pouvons écrire la requête ci-dessus comme:
Get / kibana_sample_data_flights / _searchCette requête fonctionne de manière similaire à la méthode en ligne indiquée ci-dessus. Cependant, il est plus descriptif et est plus lisible.
Trier par commande ascendante
Pour changer par ordre inverse, vous pouvez modifier l'ordre de l'ASC à DESC, ce qui triera les valeurs du plus haut au plus bas comme indiqué:
Get / kibana_sample_data_flights / _searchL'exemple de sortie est comme indiqué:
Tri de distance géo
Elasticsearch vous permet de trier par géo-information en utilisant le paramètre _GEO_DISTANCE. Par exemple, considérez la requête suivante:
Get / kibana_sample_data_flights / _searchLa requête ci-dessus doit renvoyer les enregistrements où le pays de destination est égal aux États-Unis et l'emplacement est dans la plage de latitude et de longitude spécifiée.
Trier par type de texte
Le tri ne se limite pas aux valeurs numériques, vous triez par texte comme:
Get / kibana_sample_data_flights / _searchConclusion
Dans ce tutoriel, nous avons couvert comment trier les résultats d'une requête Elasticsearch en utilisant le mot clé de tri. Vérifiez la documentation pour en savoir plus.