Comment créer des indices Elasticsearch

Comment créer des indices Elasticsearch
Elasticsearch est une partie de la pile de wapitis populaire utilisée pour l'analyse des journaux et la recherche. Les applications et les systèmes enregistrent constamment des données qui peuvent être très utiles pour le dépannage et les problèmes de suivi. À l'aide de la pile de wapitis, vous avez les meilleurs outils pour effectuer ces tâches rapidement et très facilement.

Dans ce tutoriel rapide, nous examinerons Elasticsearch, en particulier comment créer des indices dans le moteur Elasticsearch. Bien que vous n'ayez pas besoin de connaissances complètes sur Elk Stack pour suivre ce tutoriel, avoir une compréhension de base des sujets suivants pourrait être avantageux:

  • En utilisant le terminal, en particulier, boucler
  • Connaissance de base des API et JSON
  • Faire une demande HTTP

NOTE: Ce tutoriel suppose également que vous avez installé Elasticsearch et exécuté sur votre système.

Quels sont les indices elasticsearch?

Sans simplifier ou sur-compliquer les choses, un index Elasticsearch est une collection de documents JSON connexes.

Comme mentionné dans un article précédent, les indices Elasticsearch sont considérés par des objets JSON l'unité de stockage dans Elasticsearch. Ces documents JSON connexes sont stockés dans une seule unité qui constitue un index. Considérez les documents Elasticsearch comme des tables dans une base de données relationnelle.

Relions un index Elasticsearch en tant que base de données dans le monde SQL.

  • Mysql => bases de données => tables => colonnes / lignes
  • Elasticsearch => Indices => Types => Documents JSON avec des propriétés

Comment créer un index Elasticsearch

Elasticsearch utilise une API de repos puissante et intuitive pour exposer ses services. Cette fonctionnalité vous permet d'utiliser des demandes HTTP pour effectuer des opérations sur le cluster Elasticsearch. Par conséquent, nous utiliserons l'API Create Index pour créer un nouvel index.

Pour ce guide, nous utiliserons Curl pour envoyer les demandes et préserver l'intégrité et la convivialité pour tous les utilisateurs. Cependant, si vous rencontrez des erreurs avec Curl, envisagez d'utiliser la console Kibana.

La syntaxe pour créer un nouvel index dans Elasticsearch Cluster est:

METTRE /

Pour créer un index, tout ce que vous avez à faire est de passer le nom d'index sans d'autres paramètres, ce qui crée un index à l'aide de paramètres par défaut.

Vous pouvez également spécifier diverses fonctionnalités de l'index, comme dans l'organisme d'index:

  • Les paramètres de l'index
  • Alias ​​index
  • Mappages pour les champs d'index

Le nom d'index est un paramètre requis; Sinon, vous obtiendrez une erreur pour l'uril (/)

curl -x mettre «localhost: 9200»
"Error": "Méthode HTTP incorrecte pour uri [/] et méthode [put], autorisé: [supprimer, tête, obtenir]", "Status": 405

Pour créer un nouvel index avec le nom single_index, nous passons la demande:

Put / single_index

Pour Curl, utilisez la commande:

curl -x put "localhost: 9200 / single_index?joli"

Cette commande doit entraîner le statut HTTP 200 OK et un message avec reconnu: vrai comme:


«Reconnu»: vrai,
"Shards_ackNowledged": vrai,
"index": "single_index"

La demande ci-dessus crée un index single_index avec les paramètres par défaut car nous n'avons spécifiquement spécifié aucune configuration.

Règles de dénomination d'index

Lors de la création de noms pour les indices Elasticsearch, vous devez adhérer aux normes de dénomination suivantes:

  1. Le nom d'index doit être en minuscules uniquement.
  2. Les noms d'index ne peuvent pas commencer par un tableau de bord (-), un soulignement (_) ou un signe d'addition (+)
  3. Les noms ne peuvent pas être . ou…
  4. Les noms d'index ne peuvent pas inclure des caractères spéciaux tels que: \, /, *, ?, ",, |," (caractère spatial) ,, # #
  5. La longueur des noms d'index doit être inférieure à 255 octets. Les caractères multi-octets compteront dans la longueur totale du nom d'index. Par exemple, si un seul caractère mesure 8 octets de longueur, la longueur totale restante du nom est de 255 - 8
  6. Dans la dernière version d'Elasticsearch, des noms qui commencent par un . sont réservés aux indices cachés et aux indices internes utilisés par les plugins Elasticsearch.

Comment créer un corps d'index

Lorsque vous utilisez la demande de vente pour créer un index, vous pouvez transmettre divers arguments qui définissent les paramètres de l'index que vous souhaitez créer. Les valeurs que vous pouvez spécifier dans le corps incluent:

  • Alias: Spécifie les noms d'alias pour l'index que vous souhaitez créer; Ce paramètre est facultatif.
  • Paramètres: Cela définit les options de configuration pour l'index que vous souhaitez avoir créé. Si vous ne spécifiez pas de paramètres, l'index est créé à l'aide de configurations par défaut.
  • Mappings: Cela définit la cartographie des champs dans l'index. Les spécifications que vous pouvez inclure dans les mappages comprennent:
    • Le nom du champ
    • Le type de données
    • Le paramètre de mappage

Pour un exemple de création d'un index avec des configurations corporelles, considérez la demande ci-dessous:

Put / single_index_with_body

"paramètres":
"numéro_of_shards": 2,
"numéro_of_replicas": 2
,
«Mappings»:
"propriétés":
"field1": "type": "objet"


Pour une demande équivalente Curl:

curl -xput "http: // localhost: 9200 / single_index_with_body" -h 'contenu-type: application / json' -d '"paramètres": "numéro_of_shards": 2, "numéro_of_replicas": 2, "mappings" : "Properties": "field1": "type": "objet" '

La demande ci-dessus crée un nouvel index avec le nom single_index_with_body avec 2 nombres d'éclats et 2 répliques. Il crée également un mappage avec un champ de nom de nom1 et tapez comme un objet JSON.

Une fois que vous enverrez la demande, vous obtiendrez une réponse avec l'état de la demande:


«Reconnu»: vrai,
"Shards_ackNowledged": vrai,
"index": "single_index_with_body"

«Reconnu» montre si l'index a été créé avec succès dans le cluster, tandis que «Shards_ackNowledged» montre si le nombre requis de copies de fragment a été démarré pour chaque fragment de l'index spécifié avant le temps d'arrêt.

Comment voir l'index Elasticsearch

Pour afficher les informations sur l'index que vous avez créé, utilisez une demande similaire à celle de la création d'un index, mais utilisez la méthode HTTP au lieu de mettre As:

Get / single_index_with_body

Pour boucler,

curl -xget "http: // localhost: 9200 / single_index_with_body"

Cette commande vous donnera des informations détaillées sur l'index demandé comme:


"single_index_with_body":
"alias": ,
"Mappings":
"propriétés" :
"field1":
"type": "objet"


,
"paramètres" :
"index":
"routage":
"allocation" :
"inclure" :
"_tier_preference": "data_content"


,
"numéro_of_shards": "2",
"fourni_name": "single_index_with_body",
"Creation_Date": "1611045687208",
"numéro_of_replicas": "2",
"uuid": "3trko7xmqcsuoogtb6pxva",
"version" :
"Créé": "7100299"




Conclusion

Ce guide a expliqué comment travailler avec Elasticsearch pour créer une API d'index pour créer de nouveaux indices. Nous avons également discuté de la façon de créer des noms appropriés pour les indices et les paramètres de configuration.

En utilisant ce guide, vous pouvez maintenant créer et afficher des indices à l'aide de l'API Elasticsearch.