Bien sûr! Voici la traduction de l'explication et des exemples pour Index et Mapping dans Elasticsearch:
Index dans Elasticsearch
Un Index in Elasticsearch est similaire à une base de données dans les systèmes de gestion de base de données traditionnels(SGBD). Il stocke une collection de documents connexes. Chacun Index correspond généralement à un type spécifique de données dans votre application. Par exemple, dans une application de commerce électronique, vous pouvez créer un Index pour stocker des informations sur les produits, un autre Index pour stocker des informations sur les utilisateurs et les commandes.
Chaque Index in Elasticsearch est divisé en fragments plus petits pour la distribution des données. Un fragment est une petite partie d'un Index, et chaque fragment peut être stocké sur un nœud distinct au sein d'un Elasticsearch cluster. Le fractionnement des données en fragments optimise les performances de recherche et d'interrogation et améliore l'évolutivité du système.
Par exemple, pour créer un nouveau Index nommé products
dans Elasticsearch, vous pouvez utiliser l'API ou des outils de gestion comme Kibana pour exécuter la commande suivante :
PUT /products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}
Dans l'exemple ci-dessus, nous avons créé un Index products
avec 3 shard
et 2 replica
de chaque shard
pour assurer la disponibilité et la sauvegarde des données.
Mapping dans Elasticsearch
Mapping est le processus de définition de la façon dont Elasticsearch stocke et traite les données dans un fichier Index. Lorsque vous ajoutez un nouveau document à un Index, Elasticsearch utilise Mapping pour déterminer le type de données de chaque champ du document. Cela aide à Elasticsearch comprendre comment traiter et rechercher des données dans différents domaines.
Par exemple, si nous avons un Index products
et que nous voulons définir Mapping pour les champs name
(nom du produit) et price
(prix du produit) respectivement les types texte et flottant, nous pouvons exécuter la commande suivante :
PUT /products/_mapping
{
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "float"
}
}
}
Dans l'exemple ci-dessus, nous avons défini Mapping pour l' products
Index, le name
champ ayant le type de données text
et le champ de prix ayant le type de données float
. Cela garantit que lors Elasticsearch de la réception de nouveaux documents pour l' products
index, il stockera et traitera les name
champs et "prix" en fonction des types de données définis.
Index et Mapping jouent un rôle crucial dans l'organisation et la gestion des données dans Elasticsearch. Ils aident Elasticsearch à comprendre et à traiter efficacement les données, à optimiser les opérations de recherche et d'interrogation et à fournir des capacités d'évolutivité flexibles pour le système.