Suppression indexe ElasticSearch
Cet article présente la suppression d'un indexe dans ElasticSearch
, par exemple pour supprimer des données de tests ou obsolètes.
Votre avis
Nobody voted on this yet
|
|
Commande
L'API indexe
est utilisée pour effectuer les suppressions. Toutes les commandes sont des appels REST avec le protocole DELETE
.
Il est possible de supprimer un indexe spécifiquement, en indiquant le nom exact. Dans l'exemple suivant, l'indexe fail2ban-2018.04
est supprimé.
#curl -X DELETE "localhost:9200/fail2ban-2018.04" {"acknowledged":true}
Si de multiples indexes doivent être supprimés, il est possible d'utiliser des métacaractères comme *
.
#curl -X DELETE "localhost:9200/fail2ban-2018.*" {"acknowledged":true}
Attention, l'utilisation de métacaractères peut être dangeureuse et entraîner la suppression non souhaitée d'indexes. l'élément de configuration
action.destructive_requires_name
de ElasticSearch
permet de forcer à fournir des noms complets. Il faut ouvrir le fichier elasticsearch.yml
et activer l'option avec la valeur true
.
# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
action.destructive_requires_name: true
Ainsi lorsqu'une tenataive sera effectuée, l'API retournera un message d'erreur.
#curl -X DELETE "localhost:9200/fail2ban-2018.*" {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Wildcard expressions or all indices are not allowed"}],"type":"illegal_argument_exception","reason":"Wildcard expressions or all indices are not allowed"},"status":400}
Voir aussi
Documentation officielle: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html