ElasticSearch Elimina indice How-to

ElasticSearch Elimina indice How-to
Elasticsearch ama i dati; Nessuno di noi può contestarlo. Tuttavia, i dati possono diventare ridondanti e inutili ad un certo punto o nell'altro, necessitarne la rimozione.

Fortunatamente, con Elasticsearch, quando i dati diventano ridondanti, tutto ciò che devi fare è accedere a uno strumento per eseguire richieste e trasferire i dati sulla rete.

Questa guida rapida ti mostrerà come utilizzare l'API della potente Elasticsearch per eliminare documenti e indici.

NOTA: Supponiamo che tu abbia Elasticsearch in esecuzione sul tuo sistema e che tu abbia uno strumento per effettuare richieste come Curl. Forniamo anche richieste di kibana grezzi se si utilizza la console Kibana (consigliata).

Come elencare l'indice?

Se si desidera eliminare e indicizzare in Elasticsearch, devi prima verificare che esista prima di inviare la richiesta di eliminazione.

Se si tenta di eliminare un indice inesistente, otterrai un errore, simile a quello mostrato di seguito:

Delete /this_index_does_not_exist

Per il comando Curl:

CURL -XDelete “http: // localhost: 9200/this_index_does_not_exist”

L'eliminazione di un indice darà un errore come:


"Errore":
"causa ultima" : [

"type": "index_not_found_exception",
"Motivo": "Nessun indice del genere [this_index_does_not_exist]",
"INDICE_UUID": "_NA_",
"risorsa.Digita ":" index_or_alias ",
"risorsa.ID ":" this_index_does_not_exist ",
"INDICE": "this_index_does_not_exist"

",
"type": "index_not_found_exception",
"Motivo": "Nessun indice del genere [this_index_does_not_exist]",
"INDICE_UUID": "_NA_",
"risorsa.Digita ":" index_or_alias ",
"risorsa.ID ":" this_index_does_not_exist ",
"INDICE": "this_index_does_not_exist"
,
"Stato": 404

Esistono vari modi per verificare se esiste un indice; Il meglio è elencare il suo nome. Ad esempio, puoi usare i caratteri jolly per abbinare un nome specifico.

La richiesta di esempio di seguito elenca gli indici con i nomi TE*

Get /te*

Il comando Curl è:

Curl -Xget “http: // localhost: 9200/te*”

Questo comando dovrebbe restituire tutti gli indici corrispondenti a quel modello specifico, consentendo di ricordare solo il nome parziale dell'indice che si desidera rimuovere.


"temp":
"Aliases": ,
"Mappings": ,
"impostazioni" :
"indice":
"Routing":
"Allocazione":
"includere" :
"_tier_preference": "data_content"


,
"NUMBER_OF_SHARDS": "1",
"fornito_name": "temp",
"Creation_date": "1611180802266",
"Number_of_replicas": "1",
"UUID": "C7DoH6MQQUMHM2MKJ73EKW",
"Versione":
"Creato": "7100299"



,
"temp_1":
"Aliases": ,
"Mappings": ,
"impostazioni" :
"indice":
"Routing":
"Allocazione":
"includere" :
"_tier_preference": "data_content"


,
"NUMBER_OF_SHARDS": "1",
"fornito_name": "temp_1",
"Creation_date": "1611180811874",
"Number_of_replicas": "1",
"UUID": "PQ1UUR2XTZS3XFS6HXR4GG",
"Versione":
"Creato": "7100299"



,
"temp_2":
"Aliases": ,
"Mappings": ,
"impostazioni" :
"indice":
"Routing":
"Allocazione":
"includere" :
"_tier_preference": "data_content"


,
"NUMBER_OF_SHARDS": "1",
"fornito_name": "temp_2",
"Creation_date": "1611180815041",
"Number_of_replicas": "1",
"UUID": "8NDXWPUBLE6R4EZ407W9Q",
"Versione":
"Creato": "7100299"




Un altro modo è aggiungere il parametro Ignore_Unavailable alla richiesta. Per esempio:

Elimina /ignore_me?ignore_unavailable = true
Per gli utenti Curl:
[cc lang = "text" width = "100%" height = "100%" sfuggito = "vero" tema = "blackboard" nowRap = "0"]
Curl -xdelete “http: // localhost: 9200/ignore_me?ignore_unavailable = true "

Come eliminare un Indice?

Una volta che hai l'indice che si desidera rimuovere da ElaSticSearch, utilizzare la richiesta di eliminazione seguita dal nome dell'indice.

La sintassi generale è:

ELIMINARE /

Il nome dell'indice può essere un indice specifico o un jolly che seleziona un gruppo di indici. Assicurarsi di utilizzare i caratteri jolly correttamente; Altrimenti, potresti rimuovere gli indici sbagliati.

NOTA: L'eliminazione degli indici di elasticarch con alias è vietata.

Considera la richiesta di esempio di seguito che rimuove l'indice Temp_1:

DELETE /TEMP_1

Per il comando Curl:

Curl -xdelete “http: // localhost: 9200/temp_1”

L'esecuzione di questo comando dovrebbe rispondere con un oggetto JSON, indicando la riuscita rimozione dell'indice.


"Riconosciuto": vero

Elasticsearch è abbastanza intelligente da sapere che puoi rimuovere accidentalmente gli indici. Pertanto, è possibile impostare quali tipi di espressioni per jolly sono consentiti.

Questo tipo di espressioni per i caratteri jolly include:

  • Tutto: Include tutti gli indici, inclusi aperti, chiusi e nascosti (a partire da)
  • Aprire: Include solo indici aperti
  • Chiuso: Include solo indici chiusi
  • Nessuno: Non sono consentite espressioni per jolly.

Conclusione

Per questa guida rapida e semplice, abbiamo discusso del processo di utilizzo di ElaSticSearch per eliminare gli indici da un cluster. Abbiamo anche discusso di semplici modi in cui puoi implementare per evitare errori per gli indici che non esistono.

Grazie per aver letto.