Elasticsearch Supprimer l'index

Elasticsearch Supprimer l'index
Elasticsearch aime les données; Aucun de nous ne peut contester que. Cependant, les données peuvent devenir redondantes et inutiles à un moment donné ou à l'autre, nécessitant son retrait.

Heureusement, avec Elasticsearch, lorsque les données deviennent redondantes, tout ce que vous avez à faire est d'accéder à un outil pour effectuer des demandes et transférer des données sur le réseau.

Ce guide rapide vous montrera comment utiliser la puissante API Elasticsearch pour supprimer des documents et des indices.

NOTE: Nous supposons que vous avez un elasticsearch en cours d'exécution sur votre système et que vous avez un outil pour faire des demandes telles que Curl. Nous fournissons également des demandes de kibana brutes si vous utilisez la console Kibana (recommandée).

Comment répertorier l'index?

Si vous souhaitez supprimer et indexer dans Elasticsearch, vous devez d'abord le vérifier existant avant d'envoyer la demande de suppression.

Si vous essayez de supprimer un index inexistant, vous obtiendrez une erreur, similaire à celle ci-dessous:

Supprimer / this_index_does_not_exist

Pour la commande curl:

curl -xdelete "http: // localhost: 9200 / this_index_does_not_exist"

La suppression d'un index donnera une erreur comme:


"erreur" :
"cause première" : [

"type": "index_not_found_exception",
"Raison": "pas un tel index [this_index_does_not_exist]",
"index_uuid": "_na_",
"Ressource.type ":" index_or_alias ",
"Ressource.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"

]],
"type": "index_not_found_exception",
"Raison": "pas un tel index [this_index_does_not_exist]",
"index_uuid": "_na_",
"Ressource.type ":" index_or_alias ",
"Ressource.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
,
"Statut": 404

Il existe différentes façons de vérifier s'il existe un index; Le meilleur est de répertorier son nom. Par exemple, vous pouvez utiliser les jilèges pour correspondre à un nom spécifique.

L'exemple de demande ci-dessous répertorie les indices avec les noms te *

Obtenir / te *

La commande curl est:

curl -xget «http: // localhost: 9200 / te *»

Cette commande doit renvoyer tous les indices correspondant à ce modèle spécifique, vous permettant de vous souvenir uniquement du nom partiel de l'index que vous souhaitez supprimer.


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


,
"numéro_of_shards": "1",
"fourni_name": "temp",
"Creation_Date": "1611180802266",
"numéro_of_replicas": "1",
"UUID": "C7DOH6MQQUMHM2MKJ73EKW",
"version" :
"Créé": "7100299"



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


,
"numéro_of_shards": "1",
"fourni_name": "temp_1",
"Creation_Date": "1611180811874",
"numéro_of_replicas": "1",
"UUID": "PQ1UUR2XTZS3XFS6HXR4GG",
"version" :
"Créé": "7100299"



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


,
"numéro_of_shards": "1",
"fourni_name": "temp_2",
"Creation_Date": "1611180815041",
"numéro_of_replicas": "1",
"UUID": "8NDXWPUBTLE6R4EZ407W9Q",
"version" :
"Créé": "7100299"




Une autre façon consiste à ajouter le paramètre ignore_unavailable à la demande. Par exemple:

Supprimer / ignorer_me?ignore_unavailable = true
Pour les utilisateurs de Curl:
[cc lang = "text" width = "100%" height = "100%" échappé = "true" theme = "Blackboard" Nowrap = "0"]
curl -xdelete “http: // localhost: 9200 / ignore_me?ignore_unavailable = true "

Comment supprimer un Indice?

Une fois que vous avez l'index que vous souhaitez supprimer de Elasticsearch, utilisez la demande de suppression suivie du nom d'index.

La syntaxe générale est:

SUPPRIMER /

Le nom d'index peut être un index spécifique ou un joker qui sélectionne un groupe d'indices. Assurez-vous d'utiliser correctement les caractères génériques; Sinon, vous pourriez supprimer les mauvais indices.

NOTE: La suppression des indices Elasticsearch à l'aide d'alias est interdite.

Considérez l'exemple de demande ci-dessous qui supprime l'index temp_1:

Supprimer / temp_1

Pour la commande curl:

curl -xdelete "http: // localhost: 9200 / temp_1"

L'exécution de cette commande doit répondre avec un objet JSON, indiquant la suppression réussie de l'index.


«Reconnu»: vrai

Elasticsearch est assez intelligent pour savoir que vous pouvez supprimer accidentellement des indices. Par conséquent, vous pouvez définir les types d'expressions des jilèges autorisés.

Ce type d'expressions sur les caractères génériques comprend:

  • Tous: Comprend tous les indices, y compris ouverts, fermés et cachés (à commencer par)
  • Ouvrir: Comprend des indices ouverts uniquement
  • Fermé: Comprend des indices fermés uniquement
  • Aucun: Aucune expression de générationnelle autorisée.

Conclusion

Pour ce guide rapide et simple, nous avons discuté du processus d'utilisation d'Elasticsearch pour supprimer les indices d'un cluster. Nous avons également discuté des moyens simples de mettre en œuvre pour éviter les erreurs pour les indices qui n'existent pas.

Merci pour la lecture.