Fortunatamente, con Elasticsearch, quando i dati diventano ridondanti, tutto ciò che devi fare è accedere a uno strumento per eseguire richieste e trasferire dati in rete.
Questa guida rapida ti mostrerà come utilizzare la potente API Elasticsearch per eliminare documenti e indici.
NOTA: Supponiamo che tu abbia Elasticsearch in esecuzione sul tuo sistema e che tu disponga di uno strumento per effettuare richieste come cURL. Forniamo anche richieste Kibana non elaborate se stai utilizzando la Kibana Console (consigliato).
Come elencare l'indice?
Se desideri eliminare e indicizzare in Elasticsearch, devi prima verificarne l'esistenza prima di inviare la richiesta DELETE.
Se provi a eliminare un indice inesistente, otterrai un errore, simile a quello mostrato di seguito:
ELIMINA /questo_indice_non_esistePer 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" : [
"tipo": "index_not_found_exception",
"motivo": "nessun indice di questo tipo [questo_indice_non_esiste]",
"index_uuid": "_na_",
"risorsa.type": "index_or_alias",
"risorsa.id": "questo_indice_non_esiste",
"indice": "questo_indice_non_esiste"
],
"tipo": "index_not_found_exception",
"motivo": "nessun indice di questo tipo [questo_indice_non_esiste]",
"index_uuid": "_na_",
"risorsa.type": "index_or_alias",
"risorsa.id": "questo_indice_non_esiste",
"indice": "questo_indice_non_esiste"
,
"stato": 404
Esistono vari modi per verificare l'esistenza di un indice; la cosa migliore è elencare il suo nome. Ad esempio, puoi utilizzare i caratteri jolly per abbinare un nome specifico.
La richiesta di esempio di seguito elenca gli indici con nomi te*
OTTIENI /te*Il comando cURL è:
curl -XGET “http://localhost:9200/te*”Questo comando dovrebbe restituire tutti gli indici che corrispondono a quel modello specifico, permettendoti di ricordare solo il nome parziale dell'indice che desideri rimuovere.
"temp":
"alias": ,
"mappature": ,
"impostazioni" :
"indice":
"percorso":
"allocazione":
"includere" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"nome_fornito": "temp",
"data_creazione": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"versione":
"creato": "7100299"
,
"temp_1":
"alias": ,
"mappature": ,
"impostazioni" :
"indice":
"percorso":
"assegnazione":
"includere" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"nome_fornito": "temp_1",
"data_creazione": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"versione":
"creato": "7100299"
,
"temp_2":
"alias": ,
"mappature": ,
"impostazioni" :
"indice":
"percorso":
"assegnazione":
"includere" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"nome_fornito": "temp_2",
"data_creazione": "1611180815041",
"number_of_replicas": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"versione":
"creato": "7100299"
Un altro modo è aggiungere il parametro ignore_unavailable alla richiesta. Per esempio:
ELIMINA /ignora_me?ignore_unavailable=truePer gli utenti di cURL:
[cc lang = "testo" larghezza = "100%" altezza = "100%" escape = "vero" tema = "lavagna" nowrap = "0"]
curl -XDELETE “http://localhost:9200/ignore_me?ignore_unavailable=true”
Come eliminare un Indice?
Una volta ottenuto l'indice che desideri rimuovere da Elasticsearch, utilizza la richiesta DELETE seguita dal nome dell'indice.
La sintassi generale è:
ELIMINA /Il nome dell'indice può essere un indice specifico o un carattere jolly che seleziona un gruppo di indici. Assicurati di utilizzare i caratteri jolly correttamente; altrimenti, potresti rimuovere gli indici sbagliati wrong.
NOTA: L'eliminazione degli indici Elasticsearch utilizzando gli alias non è consentita.
Considera la richiesta di esempio di seguito che rimuove l'indice temp_1:
ELIMINA /temp_1Per il comando cURL:
curl -XDELETE “http://localhost:9200/temp_1”L'esecuzione di questo comando dovrebbe rispondere con un oggetto JSON, che indica la corretta rimozione dell'indice.
“riconosciuto”: vero
Elasticsearch è abbastanza intelligente da sapere che puoi rimuovere gli indici accidentalmente. Pertanto, puoi impostare quali tipi di espressioni con caratteri jolly sono consentiti.
Questi tipi di espressioni con caratteri jolly includono:
- Tutti: include tutti gli indici, inclusi aperti, chiusi e nascosti (a partire da)
- Aperto: include solo indici aperti
- Chiuso: include solo indici chiusi
- Nessuna: non sono consentite espressioni con caratteri jolly.
Conclusione
Per questa guida rapida e semplice, abbiamo discusso il processo di utilizzo di Elasticsearch per eliminare gli indici da un cluster. Abbiamo anche discusso di semplici modi che puoi implementare per evitare errori per indici che non esistono.
Grazie per aver letto.