Affichage des champs dans un index Elasticsearch

Exploration des techniques d'affichage des champs dans un index Elasticsearch.

Elasticsearch vous permet d’indexer des données rapidement et en toute flexibilité. Essayez-le gratuitement dans le cloud ou exécutez-le en local pour découvrir à quel point l’indexation peut être simple.

Dans cet article, nous verrons comment afficher des champs dans un index Elasticsearch. Cela peut être utile pour comprendre la structure de vos données, identifier des champs spécifiques et résoudre des problèmes. Nous aborderons les sujets suivants :

  1. Utilisation de l'_mapping API pour récupérer des informations sur les champs
  2. Utilisation de l'_search API pour afficher les valeurs des champs
  3. Filtrage des champs à l'aide du fields paramètre
  4. Affichage des champs imbriqués

1. Utilisation de l'API _mapping pour récupérer des informations sur les champs

L'API _mapping vous permet de récupérer la définition du mappage pour un ou plusieurs index. Il s'agit d'informations sur les champs, leurs types de données et d'autres propriétés. Pour récupérer le mappage d'un index spécifique, utilisez la requête suivante :

Par exemple, si vous avez un index nommé my_index, vous pouvez récupérer son mapping avec la requête suivante :

La réponse comprendra la définition du mappage pour l'index, qui contient des informations sur les champs et leurs propriétés.

Il est également possible de récupérer la cartographie d'un champ spécifique. Cela peut s'avérer utile si votre cartographie est assez vaste et que vous souhaitez vous concentrer sur un domaine spécifique. Pour récupérer la correspondance d'un champ spécifique, utilisez la requête suivante :

Vous pouvez également récupérer les correspondances de plusieurs champs en séparant leurs noms par des virgules, comme dans la requête suivante :

2. Utilisation de l'API _search pour afficher les valeurs des champs

Pour afficher les valeurs des champs d'un index Elasticsearch, vous pouvez utiliser l'API _search. Par défaut, l'API _search renvoie le champ _source, qui contient le document JSON original qui a été indexé. Pour n'afficher que des champs spécifiques, vous pouvez utiliser le paramètre _source dans la requête de recherche.

Voici un exemple de demande de recherche qui renvoie les valeurs des champs title et author pour les documents de l'index my_index:

Dans cet exemple, le paramètre _source spécifie les champs à renvoyer.

3. Filtrer les champs à l'aide du paramètre fields

Vous pouvez également utiliser le paramètre fields pour filtrer les champs renvoyés dans la réponse de recherche. Cela peut être utile si vous n'avez besoin que de champs spécifiques et que vous souhaitez réduire la taille de la réponse. Le paramètre fields accepte un tableau de noms de champs ou de caractères génériques.

Par exemple, pour obtenir uniquement les champs title et author pour les documents de l'index my_index, vous pouvez utiliser la requête de recherche suivante :

Notez que le paramètre _source est fixé à false afin de ne pas renvoyer le document source.

Pour obtenir tous les champs dont le type de données est text, vous pouvez utiliser un motif joker comme celui-ci :

4. Affichage des champs imbriqués

Si votre index contient des champs imbriqués, vous pouvez utiliser la notation point pour spécifier le chemin du champ imbriqué dans le paramètre fields. Par exemple, si vous disposez d'un champ imbriqué nommé address.city, vous pouvez l'inclure dans la réponse de recherche comme suit :

Dans cet exemple, la réponse de la recherche comprendra les valeurs des champs title, author et address.city.

Conclusion

En conclusion, l'affichage des champs dans un index Elasticsearch peut être réalisé en utilisant l'API _mapping pour récupérer les informations sur les champs et l'API _search pour afficher les valeurs des champs. Vous pouvez filtrer les champs renvoyés dans la réponse de recherche à l'aide des paramètres _source ou fields et afficher les champs imbriqués à l'aide de la notation par points. Ces techniques peuvent vous aider à comprendre la structure de vos données, à identifier des champs spécifiques et à résoudre des problèmes.

Pour aller plus loin

Prêt à créer des expériences de recherche d'exception ?

Une recherche suffisamment avancée ne se fait pas avec les efforts d'une seule personne. Elasticsearch est alimenté par des data scientists, des ML ops, des ingénieurs et bien d'autres qui sont tout aussi passionnés par la recherche que vous. Mettons-nous en relation et travaillons ensemble pour construire l'expérience de recherche magique qui vous permettra d'obtenir les résultats que vous souhaitez.

Jugez-en par vous-même