Elasticsearch Supprimer tous les index

Elasticsearch Supprimer Tous Les Index



Elasticsearch est un moteur de recherche et d'analyse gratuit et open source qui alimente la pile ELK. Elasticsearch permet aux différents pipelines de données d'utiliser des outils tels que Logstash pour collecter et agréger les données. Elasticsearch stocke ensuite les données fournies, permettant aux applications d'accéder, de rechercher, de trier et de filtrer de grandes quantités de données en temps quasi réel. Elasticsearch vous permet également de visualiser les différentes données à l'aide d'outils intégrés.

Ces fonctionnalités rendent Elasticseach parfaitement adapté à la recherche et au tri de grandes quantités de données avec une latence minimale, voire nulle. Ainsi, que vous créiez un moteur de recherche ou analysiez des journaux, des métriques et d'autres données textuelles, Elasticsearch est un excellent choix.







Au cœur d'Elasticsearch se trouve un index. Un index fait référence à l'unité responsable du stockage des documents dans Elasticsearch. Un index est relativement équivalent à une base de données dans le contexte des bases de données relationnelles. Par exemple, vous pouvez avoir un index qui contient toutes les données des journaux d'une application Web.



Comme toutes les bases de données, vous pouvez rencontrer un scénario dans lequel vous devez supprimer toutes les données de votre cluster, ce qui vous permet de repartir de zéro.



Cet article vous montre comment utiliser les fonctionnalités de l'API Elasticsearch pour supprimer tous les index de votre cluster.





ATTENTION : Les méthodes et techniques utilisées dans cet article entraîneront une perte de données. Nous déclinons toute responsabilité en cas de perte de données pouvant survenir en raison des instructions de cet article.

API de suppression d'index Elasticsearch

Si vous démarrez Elasticsearch, vous devrez savoir comment effectuer les appels d'API de base. En effet, Elasticsearch utilise les API au maximum.



Comme vous pouvez le deviner, nous utilisons l'API Delete Index pour supprimer un index d'un cluster. La syntaxe des requêtes de suppression d'index est la suivante :

EFFACER /< indice >


La demande supprime l'index spécifié et les documents stockés, les fragments et toutes ses métadonnées.

Gardez à l'esprit que cela ne supprimera aucun composant Kibana associé à l'index spécifié, comme les vues de données, etc.

Vous pouvez spécifier un ou plusieurs index en les séparant par des virgules. Un exemple de syntaxe est comme indiqué :

EFFACER / nom_index
EFFACER / index1,index2,index3...indexN


Elasticsearch vous empêche d'utiliser l'alias Index lors de la suppression d'un index. Au lieu de cela, vous devez utiliser le nom de l'index.

Exemple 1 : Index de suppression Elasticsearch

L'exemple suivant montre comment utiliser l'API Elasticsearch delete index pour supprimer un index existant du cluster :

boucle -XSUPPRIMER 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf : création de rapports'


La requête précédente envoie une requête DELETE à l'API de suppression. Cela devrait supprimer l'index avec le nom 'kibana_sample_data_logs'.

La sortie résultante est comme indiqué :

{
'reconnu' : vrai
}

Exemple 2 : Elasticsearch supprime plusieurs index

Nous pouvons supprimer les multiples index en les transmettant sous forme de liste séparée par des virgules. Un exemple de requête est comme indiqué :

boucle -XSUPPRIMER 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf : création de rapports'


La commande précédente supprime les index spécifiés et renvoie un message comme indiqué :

{
'reconnu' : vrai
}


Remarque : Si l'index n'existe pas, Elasticsearch renvoie une erreur comme indiqué :

Exemple 3 : Elasticsearch supprime tous les index

Nous pouvons utiliser le caractère générique _all dans l'API de suppression d'index pour supprimer tous les index d'un cluster. L'API de suppression d'index vous empêchera, par défaut, de transmettre les caractères génériques dans la requête.

Vous pouvez désactiver cela en définissant action.desctructive_requires_name sur false.

La requête suivante vous montre comment activer l'utilisation de caractères génériques dans l'API de suppression d'index :

boucle -XPUT 'localhost:9200/_cluster/paramètres' -H 'kbn-xsrf : création de rapports' -H 'Type de contenu : application/json' -ré '
{
'transitoire': {
'action.destructive_requires_name' : faux
}
}'


REMARQUE : bien qu'Elasticsearch ne recommande pas l'utilisation de paramètres de cluster transitoires, évitez de définir des paramètres de cluster destructeurs tels que l'utilisation de caractères génériques comme paramètre de cluster persistant.

La requête précédente doit renvoyer le résultat sous la forme :

{
'reconnu' : vrai ,
'persistant' : { } ,
'transitoire' : {
'action' : {
'destructive_requires_name' : 'faux'
}
}
}


Une fois l'opération réussie, vous pouvez supprimer tous les index du cluster en exécutant la commande suivante :

boucle -XSUPPRIMER 'http://localhost:9200/_all?pretty=true' -H 'kbn-xsrf : création de rapports'

Exemple 4 : Elasticsearch supprime tous les index correspondant à des noms spécifiques

Si vous souhaitez supprimer tous les index correspondant à un modèle spécifique, vous pouvez utiliser un caractère générique (*).

Par exemple, pour supprimer tous les index commençant par le nom kibana, nous pouvons exécuter la requête suivante :

boucle -XSUPPRIMER 'http://localhost:9200/kibana*' -H 'kbn-xsrf : création de rapports'


La requête précédente supprime tous les index commençant par kibana.

REMARQUE : La requête précédente nécessite l'utilisation de caractères génériques. Par conséquent, vous devez activer la prise en charge des caractères génériques comme indiqué dans la section précédente.

Conclusion

Ce guide vous a appris à utiliser l'API de suppression d'index d'Elasticsearch. Vous avez également appris à activer la prise en charge des caractères génériques dans votre cluster, à supprimer tous les index et à supprimer les index correspondant à un modèle spécifique.