ElasticSearch Elimina tutti gli indici

ElasticSearch Elimina tutti gli indici

ElaSticSearch è un motore di ricerca e analisi open source gratuito che alimenta lo stack di Elk. ElaSticSearch consente alle varie condutture di dati utilizzando strumenti come Logstash per raccogliere e aggregare i dati. ElasticSearch memorizza quindi i dati forniti, consentendo alle applicazioni di accedere, cercare, ordinare e filtrare grandi quantità di dati in tempo quasi in tempo reale. ElaSticSearch consente inoltre di visualizzare i vari dati utilizzando strumenti integrati.

Tali caratteristiche rendono ElasticSeach molto adatto per la ricerca e l'ordinamento delle ampie quantità di dati con latenza minima o nessuna. Quindi, sia che tu stia creando un motore di ricerca o analizzando registri, metriche e altri dati di testo, Elasticsearch è un'ottima scelta.

Al centro di Elasticsearch c'è un indice. Un indice si riferisce all'unità responsabile della memorizzazione dei documenti in Elasticsearch. Un indice è relativamente equivalente a un database nel contesto dei database relazionali. Ad esempio, è possibile avere un indice che contiene tutti i dati per i registri di un'applicazione Web.

Come tutti i database, potresti incontrare uno scenario in cui è necessario rimuovere tutti i dati dal cluster, permettendoti di iniziare con una lavagna pulita.

Questo articolo mostra come utilizzare le funzionalità API ElasticSearch per rimuovere tutti gli indici dal cluster.

ATTENZIONE: i metodi e le tecniche utilizzate in questo articolo porteranno alla perdita di dati. Non ci assumiamo la responsabilità per eventuali perdite di dati che possono verificarsi a causa delle istruzioni in questo articolo.

ElaSticSearch Elimina API indice

Se stai iniziando ElaSticSearch, dovrai sapere come eseguire le chiamate API di base. Questo perché Elasticsearch utilizza le API al massimo.

Come puoi immaginare, utilizziamo l'API di Elimina indice per rimuovere un indice da un cluster. La sintassi per le richieste di eliminazione dell'indice è come mostrata:

ELIMINARE /


La richiesta rimuove l'indice specificato e i documenti memorizzati, i frammenti e tutti i suoi metadati.

Tieni presente che ciò non rimuoverà i componenti di kibana associati all'indice specificato come viste sui dati, ecc.

È possibile specificare un singolo o più indici separandoli con le virgole. Una sintassi di esempio è come mostrato:

Delete /index_name
Delete /index1, index2, index3 ... indexn


ElasticSearch impedisce l'utilizzo dell'alias dell'indice durante l'eliminazione di un indice. Invece, è necessario utilizzare il nome dell'indice.

Esempio 1: ElaSticSearch Elimina l'indice

L'esempio seguente mostra come utilizzare l'API Elimina Elimina Elimina per rimuovere un indice esistente dal cluster:

Curl -xdelete "http: // localhost: 9200/kibana_sample_data_logs?Pretty = true "-h" kbn -xsrf: reporting "


La richiesta precedente invia una richiesta di eliminazione all'API Elimina. Questo dovrebbe rimuovere l'indice con il nome "kibana_sample_data_logs".

L'output risultante è come mostrato:


"riconosciuto": vero

Esempio 2: Elasticsearch Elimina più indici

Possiamo rimuovere i più indici passandoli come elenco separato da virgola. Una query di esempio è come mostrato:

Curl -xdelete "http: // localhost: 9200kibana_sample_data_flights, kibana_sample_data_logs?Pretty = true "-h" kbn -xsrf: reporting "


Il comando precedente elimina gli indici specificati e restituisce un messaggio come mostrato:


"riconosciuto": vero


Nota: se l'indice non esiste, Elasticsearch restituisce un errore come mostrato:

Esempio 3: Elasticsearch Elimina tutti gli indici

Possiamo usare il calabario per tutti nell'API di Elimina Indice per rimuovere tutti gli indici da un cluster. L'API di Elimina Index, per impostazione predefinita, ti impedirà di passare i caratteri jolly nella richiesta.

Puoi disabilitarlo impostando l'azione.Desctructive_requires_name a false.

La seguente query mostra come abilitare l'uso dei caratteri jolly nell'API di Elimina Index:

Curl -xput "localhost: 9200/_cluster/impostazioni" -H "kbn -xsrf: reporting" -h "contenuto: applicazione/json" -d '

"transitorio":
"azione.Destructive_requires_name ": false

'


Nota: sebbene Elasticsearch non raccomanda l'uso di impostazioni del cluster transitorie, evitare di impostare i parametri del cluster distruttivi come l'uso dei caratteri jolly come impostazione del cluster persistente.

La query precedente dovrebbe restituire il risultato come:


"riconosciuto": vero,
"persistente": ,
"transitorio":
"Azione":
"Destructive_requires_name": "False"



Una volta riuscito, è possibile rimuovere tutti gli indici nel cluster eseguendo il comando seguente:

Curl -xdelete "http: // localhost: 9200/_all?Pretty = true "-h" kbn -xsrf: reporting "

Esempio 4: Elasticsearch Elimina tutti gli indici che corrispondono a nomi specifici

Se desideri rimuovere tutti gli indici che corrispondono a uno schema specifico, puoi usare un carattere jolly (*).

Ad esempio, per rimuovere tutti gli indici a partire dal nome Kibana, possiamo eseguire la seguente query:

Curl -xdelete "http: // localhost: 9200/kibana*" -h "kbn -xsrf: reporting"


La richiesta precedente rimuove tutti gli indici a partire da Kibana.

Nota: la richiesta precedente richiede l'uso dei caratteri jolly. Pertanto, è necessario abilitare il supporto per jolly come mostrato nella sezione precedente.

Conclusione

Questa guida ti ha insegnato come utilizzare l'API Elimicsearch Elimina Index. Hai anche imparato come abilitare il supporto per jolly nel cluster, rimuovere tutti gli indici e rimuovere gli indici che corrispondono a uno schema specifico.