Tutoriel de requête de la gamme Elasticsearch

Tutoriel de requête de la gamme Elasticsearch
Dans Elasticsearch, nous pouvons obtenir les résultats des documents qui correspondent à une plage spécifique à l'aide de la requête de plage.

Tout au long de ce guide, vous apprendrez à définir un paramètre de plage dans votre requête de recherche en utilisant des expressions booléennes telles que plus que plus que, moins et plus.

Requête de gamme Elasticsearch: utilisation de base

Pour spécifier une plage spécifique dans une requête de recherche, nous pouvons utiliser le paramètre de plage suivi du champ et des conditions à vérifier.

Prenez la requête ci-dessous qui renvoie les documents où le champ AvgticketPrice est supérieur à 600 et moins de 800

Get / kibana_sample_data_flights / _search

"mettre en doute":
"gamme":
"Avgticketprice":
"GTE": 600,
"LTE": 800



Vous trouverez ci-dessous l'exemple de résultats de retour:

Comprendre la requête

Dans l'exemple ci-dessus, nous définissons la plage de la requête. Le mot clé de la plage nécessite le paramètre de champ, qui définit le champ pour rechercher.

Nous procédons ensuite à définir le paramètre du champ. Ce sont des conditions booléennes telles que:

  1. gt - plus que
  2. gte - supérieur ou égal à
  3. lt - moins de
  4. LTE - inférieur ou égal à

Interroger une plage de temps

Si le champ que vous souhaitez rechercher est de la date de type, vous pouvez utiliser les conditionnels ci-dessus suivis de la date définie par les mathématiques dans la ressource ci-dessous:

Elasticsearch Date Math Docs

Considérez la valeur suivante qui utilise le paramètre Time_zone pour convertir l'heure en valeur UTC et recherche une plage.

Get / kibana_sample_data_flights / _search

"mettre en doute":
"gamme":
"horodat":
"Time_zone": "+03: 00",
"GTE": "2021-10-14T05: 22: 14",
"LTE": "MAINTENANT"



La requête ci-dessus doit retourner les documents où l'horodatage est supérieur à 2021-10-14 à 05:22:14.

Voici des exemples de résultats:

NOTE: Time_zone n'affecte pas le paramètre maintenant.

Plus grand que

Vous n'avez pas à combiner les conditions telles que supérieure à et inférieure à; Vous pouvez utiliser une gamme individuelle, comme indiqué dans l'exemple ci-dessous:

Get / kibana_sample_data_flights / _search

"mettre en doute":
"gamme":
"Distancemiles":
"GTE": 10000



L'exemple ci-dessus renvoie les documents où le distancemiles est supérieur à 10000.

La réponse est ci-dessous:

Booléen

Pour vérifier une gamme où le type de champ est une valeur booléenne, vous pouvez utiliser LTE ou GTE. Par exemple, pour obtenir les documents pour les vols annulés, nous pouvons exécuter une demande:

Get / kibana_sample_data_flights / _search

"mettre en doute":
"gamme":
"Annulé":
"GTE": vrai



Dans l'exemple ci-dessus, nous passons la plage pour vérifier en tant que Boolean True.

Les résultats sont comme indiqué:

Fermeture

Dans ce guide, vous avez appris à utiliser la requête de plage dans Elasticsearch pour filtrer les résultats qui correspondent à une plage spécifique.