Elasticsearch est un moteur de recherche et d'analyse libre et open-source qui alimente la pile des wapitistes. Elasticsearch permet aux différents pipelines de données à l'aide d'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 proche. Elasticsearch vous permet également de visualiser les différentes données à l'aide d'outils intégrés.
De telles fonctionnalités rendent Elasticsach très adapté à la recherche et au tri des quantités étendues de données avec une latence minimale à sans. Donc, que vous créiez un moteur de recherche ou que vous analysiez les journaux, les métriques et autres données texte, Elasticsearch est un excellent choix.
Au cœur d'Elasticsearch est 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 où vous devez supprimer toutes les données de votre cluster, vous permettant de commencer par une ardoise propre.
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 ne tenons pas la responsabilité d'une perte de données qui peut se produire en raison des instructions de cet article.
Elasticsearch Delete Index API
Si vous commencez la recherche Elastics, vous devrez savoir comment effectuer les appels API de base. En effet, Elasticsearch utilise les API au maximum.
Comme vous pouvez le deviner, nous utilisons l'API de suppression d'index pour supprimer un index d'un cluster. La syntaxe des demandes de suppression de l'index est comme indiqué:
SUPPRIMER /
La demande supprime l'indice spécifié et les documents stockés, les éclats et toutes ses métadonnées.
Gardez à l'esprit que cela ne supprimera aucun composant Kibana associé à l'index spécifié tel que les vues de données, etc.
Vous pouvez spécifier un seul ou plusieurs indices en les séparant avec des virgules. Un exemple de syntaxe est comme indiqué:
Supprimer / index_name
Supprimer / index1, index2, index3… indexn
Elasticsearch vous empêche d'utiliser l'alias d'index lors de la suppression d'un index. Au lieu de cela, vous devez utiliser le nom d'index.
Exemple 1: Index de suppression d'Elasticsearch
L'exemple suivant montre comment utiliser l'API Elasticsearch Delete Index pour supprimer un index existant du cluster:
curl -xdelete "http: // localhost: 9200 / kibana_sample_data_logs?joli = vrai "-h" kbn-xsrf: reporting "
La demande précédente envoie une demande de suppression à 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 indices
Nous pouvons supprimer les indices multiples en les passant comme une liste séparée par des virgules. Un exemple de requête est comme indiqué:
curl -xdelete "http: // localhost: 9200kibana_sample_data_flights, kibana_sample_data_logs?joli = vrai "-h" kbn-xsrf: reporting "
La commande précédente supprime les indices 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 indices
Nous pouvons utiliser le wildcard _Al. L'API de suppression d'index vous empêchera par défaut de passer les wilkcards dans la demande.
Vous pouvez désactiver cela en définissant l'action.desctructs_requires_name à false.
La requête suivante vous montre comment activer l'utilisation des caractères génériques dans l'API de suppression de l'index:
curl -xput "localhost: 9200 / _cluster / paramètres" -h "kbn-xsrf: reporting" -h "contenu-type: application / json" -d '
"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 les paramètres de cluster destructeurs tels que l'utilisation des caractères génériques comme paramètre de cluster persistant.
La requête précédente doit renvoyer le résultat comme:
"Reconnu": vrai,
"persistant": ,
"transitoire":
"action":
"destruct_requires_name": "false"
Une fois réussi, vous pouvez supprimer tous les indices du cluster en exécutant la commande suivante:
curl -xdelete "http: // localhost: 9200 / _all?joli = vrai "-h" kbn-xsrf: reporting "
Exemple 4: Elasticsearch supprime tous les indices qui correspondent aux noms spécifiques
Si vous souhaitez supprimer tous les indices qui correspondent à un modèle spécifique, vous pouvez utiliser un caractère générique (*).
Par exemple, pour supprimer tous les indices à partir du nom Kibana, nous pouvons exécuter la requête suivante:
curl -xdelete "http: // localhost: 9200 / kibana *" -h "kbn-xsrf: reporting"
La demande précédente supprime tous les indices à partir de Kibana.
Remarque: la demande précédente nécessite l'utilisation de jokers. Par conséquent, vous devez activer le soutien du joker comme indiqué dans la section précédente.
Conclusion
Ce guide vous a appris à utiliser l'API Elasticsearch Delete Index. Vous avez également appris à activer le support générique dans votre cluster, à supprimer tous les indices et à supprimer les indices qui correspondent à un modèle spécifique.