Recherche élastique

Comment configurer un modèle d'index Elasticsearch

Comment configurer un modèle d'index Elasticsearch
Les indices sont une fonctionnalité essentielle d'Elasticsearch sans laquelle il ne fonctionnerait probablement pas comme il le fait. Bien que les indices Elasticsearch puissent varier en fonction de l'utilisation prévue, ils ont tendance à partager des propriétés communes. Compte tenu de cela, il peut être fastidieux de créer des propriétés similaires pour tous les indices. Au lieu de cela, il est beaucoup plus efficace de créer un modèle auquel nous pouvons nous référer lors de la création d'un index.

Ce tutoriel vous guidera à travers les tenants et aboutissants des modèles d'index Elasticsearch qui vous permettent de définir des modèles ou des plans pour les index communs. Par exemple, si vous enregistrez constamment des données provenant de sources externes, vous pouvez définir un modèle pour tous les indices de journalisation.

REMARQUE: Avant de commencer, il est bon de noter que le tutoriel se concentre sur la dernière version d'Elasticsearch-7.8 au moment de la rédaction - et cela peut différer des autres versions. Nous supposons également que vous avez Elasticsearch exécuté sur un système quelque part.

Commençons à travailler avec les modèles d'index Elasticsearch.

Qu'est-ce qu'un modèle d'index Elasticsearch?

Un modèle d'index Elasticsearch est une méthode utilisée pour demander à Elasticsearch de configurer les index lors de la création. Par exemple, un modèle d'index utilisé sur un flux de données configure les index de sauvegarde du flux lors de sa création.  Un modèle d'index est créé manuellement avant la création de l'index. Lors de la création d'un index, le modèle applique les paramètres de configuration de l'index.

La dernière version d'Elasticsearch propose deux types de modèles utilisables. L'un est le modèle d'index, et l'autre est modèles de composants. Comme nous l'avons déjà établi, les modèles d'index aident à créer des index Elasticsearch.

Les modèles de composants sont des modules ou des blocs réutilisables utilisés pour configurer les paramètres, le mappage et les alias. Les modèles de composants ne sont pas appliqués directement aux index créés mais peuvent aider à créer des modèles d'index.

Certains modèles d'index par défaut utilisés par Elasticsearch incluent : metrics-*-*, logs-*-* .

Comment créer un modèle d'index

Pour créer de nouveaux modèles d'index ou mettre à jour des modèles existants, nous utilisons l'API de modèle PUT. En utilisant le point de terminaison _index_template, nous pouvons envoyer une requête HTTP pour ajouter un modèle.

La syntaxe générale pour créer un modèle est :

PUT _index_template/template_name

Il est bon de noter que le nom du modèle est un paramètre obligatoire. Considérez la demande ci-dessous qui crée un modèle d'index en tant que template_1

METTRE _index_template/template_1

/* Définir le modèle d'index */
"index_patterns" : ["te*"],
"priorité" : 1,
/* Définir les paramètres des indices*/
"modèle":
"Les paramètres" :
"number_of_shards" : 2


Pour les utilisateurs de cURL, la commande est :

curl -XPUT "http://localhost:9200/_index_template/template_1" -H 'Content-Type: application/json' -d'  /* Définir le modèle d'index */  "index_patterns" : ["te*"], "priority" : 1,  /* Définir les paramètres des indices*/  "template":     "settings" :       "number_of_shards" : 2      '

Elasticsearch utilise un modèle générique pour faire correspondre les noms d'index où les modèles sont appliqués. La modification ou la mise à jour d'un modèle d'index n'affecte pas les index déjà créés, uniquement ceux qui seront créés après l'utilisation de ce modèle.

D'en haut, vous pouvez commenter vos modèles en utilisant la méthode de commentaire du langage C. Vous pouvez ajouter autant de commentaires que vous le souhaitez, n'importe où dans le corps sauf l'ouverture des accolades.

Dans le corps d'un modèle d'index, vous pouvez inclure diverses définitions telles que :

Il existe d'autres propriétés que vous pouvez inclure dans le corps du modèle d'index. Consultez la documentation pour en savoir plus.

https://www.élastique.co/guide/fr/elasticsearch/reference/7.10/index-modèles.html

Ci-dessous un exemple de demande pour créer un nouveau modèle avec la version 1.0

METTRE /_index_template/template_2

"index_patterns" : ["remp*", "re*"],
"priorité" : 1,
"modèle":
"Les paramètres" :
"number_of_shards" : 2,
"nombre_de_répliques": 0

,
"version 1.0

Vous ne pouvez pas avoir plus d'un modèle d'index avec un modèle correspondant et la même priorité. Par conséquent, assurez-vous d'attribuer différentes priorités pour faire correspondre les modèles de modèle.

Comment obtenir un modèle d'index

Pour afficher des informations sur un modèle d'index, envoyez une requête GET à l'API _index_template. Par exemple, pour afficher des informations sur template_2, utilisez la requête :

GET _index_template/template_2

La commande cURL est :

curl -XGET "http://localhost:9200/_index_template/template_2"

Cette commande devrait afficher des informations sur template_2


"index_templates" : [

"nom" : "modèle_2",
"index_template" :
"index_patterns" : [
"remp*",
"ré*"
],
"modèle" :
"Les paramètres" :
"index" :
"number_of_shards": "2",
"nombre_de_répliques" : "0"


,
"composé de" : [ ],
"priorité" : 1,
"version 1


]

Vous pouvez également utiliser des caractères génériques pour obtenir des modèles correspondants. Par exemple, considérez la demande ci-dessous pour afficher tous les modèles dans Elasticsearch.

GET _index_template/*

La commande cURL est.

curl -XGET http://localhost:9200/_index_template/*

Cette commande devrait vous donner des informations sur tous les modèles dans Elasticsearch


"index_templates" : [

"nom" : "ilm-histoire",
"index_template" :
"index_patterns" : [
"ilm-histoire-3*"
],
"modèle" :
"Les paramètres" :
"index" :
"formater" : "1",
"cycle de la vie" :
"nom" : "ilm-history-ilm-policy",
"rollover_alias" : "ilm-history-3"
,
"caché" : "vrai",
"number_of_shards" : "1",
"auto_expand_replicas": "0-1",
"nombre_de_répliques" : "0"

,
"mappages" :
"dynamique" : faux,
"Propriétés" :
"index_age" :
"type" : "long"
,
"@timestamp" :
"format" : "époque_millis",
"type" : "date"
,
"détails de l'erreur" :
"type" : "texte"
,
"Succès":
"type" : "booléen"
,
"index" :
"type" : "mot clé"
,
"Etat" :
"dynamique" : vrai,
"type" : "objet",
--------------------------SORTIE TRONQUÉE-----------------------------------

Comment supprimer des modèles

La suppression d'un modèle est aussi simple que le modèle GET mais en utilisant la requête DELETE comme :

SUPPRIMER _index_template/template_2

Vous pouvez utiliser la commande cURL :

curl -XDELETE "http://localhost:9200/_index_template/template_2"

Cette commande supprime automatiquement le modèle spécifié.

Conclusion

Ce tutoriel a couvert ce que sont les modèles d'index Elasticsearch, comment ils fonctionnent et comment créer, afficher et supprimer des modèles d'index. Ces informations de base devraient vous aider à commencer à utiliser les modèles d'index Elasticsearch.

Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...