Ricerca elastica

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 a un certo punto o l'altro, rendendo necessaria la loro rimozione.

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_esiste

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" : [

"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=true
Per 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_1

Per 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.

I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...
Come mostrare l'overlay OSD in app e giochi Linux a schermo intero
Giocare a giochi a schermo intero o utilizzare app in modalità a schermo intero senza distrazioni può tagliarti fuori dalle informazioni di sistema ri...
Le 5 migliori carte di acquisizione del gioco
Abbiamo tutti visto e amato i giochi in streaming su YouTube. PewDiePie, Jakesepticye e Markiplier sono solo alcuni dei migliori giocatori che hanno g...