Wildcard Query Elasticsearch

Wildcard Query Elasticsearch

Un joker fait référence à un personnage d'espace réservé spécial interprété et remplacé par diverses itérations en fonction de son emplacement. L'utilisation des caractères génériques est courante lors de l'exécution de recherches, en particulier lorsque la recherche cible n'est pas connue avec précision.

Dans Elasticsearch, il y a deux façons de rechercher des éléments sans connaître la correspondance exacte. La première consiste à utiliser le flou (vérifiez notre tutoriel sur le sujet), et l'autre consiste à utiliser la recherche de jacasse.

Ce tutoriel vous apprendra à utiliser les requêtes de recherche de jiltige pour localiser les éléments sans connaître la correspondance exacte.

Utilisation de base

Pour illustrer comment utiliser la requête générique ElasticSerch, nous utiliserons l'index de données Kibana-Sample-Emommerce.

Dans l'index, nous avons des informations des clients. Supposons que nous voulons obtenir les résultats où le prénom du client correspond j * y.

Nous pouvons effectuer une requête comme indiqué:

Get / kibana_sample_data_ecommerce / _search?joli

"mettre en doute":
"Wildcard":
"Customer_First_name":
"valeur": "j * n",
"Boost": 2



Si nous exécutons la demande sur l'index, nous devrions obtenir les documents où le Customer_First_name commence par un j et se termine par un n.

Un exemple de capture d'écran de la réponse est ci-dessous:

Supposons que nous connaissions le nombre exact de caractères dans le nom. Par exemple, nous ne savons pas si c'est Jim ou Jimmy; Nous pouvons utiliser le ? caractère comme:

Get / kibana_sample_data_ecommerce / _search?joli

"mettre en doute":
"Wildcard":
"Customer_First_name":
"valeur": "J?m * ",
"Boost": 2



L'exemple de requête doit renvoyer les documents où le prénom commence par un J, comprend un seul caractère, suivi d'une lettre M et d'autres caractères.

Vous trouverez ci-dessous un exemple de réponse:

Paramètres de requête générique

Vous pouvez spécifier divers paramètres pour modifier le fonctionnement de la requête du joker. Ces paramètres incluent:

  1. Champ - Le champ pour rechercher un modèle de correspondance. Ce paramètre n'est pas facultatif. Dans notre exemple ci-dessus, le champ est défini sur client_first_name.
  2. Valeur - Cela définit le modèle de joker pour rechercher. Un seul point d'interrogation indique un seul caractère, tandis qu'un * signifie zéro ou plus de caractères, y compris un caractère vide. Le paramètre de valeur n'est pas facultatif.
  3. Augmenter - Le paramètre Boost augmente ou diminue le poids du score de la requête de recherche. Il s'agit d'un paramètre facultatif et est défini sur 1.0 par défaut. Pour augmenter le poids du score, définissez une valeur supérieure à 1.0 et une valeur inférieure à 1.0 pour diminuer le score.

Conclusion

Dans cet article, nous avons expliqué comment utiliser les requêtes de recherche de joker dans Elasticsearch. Considérez la documentation ou nos sujets sur Elasticsearch pour en savoir plus.