Elasticsearch Elimina tutti gli indici

Elasticsearch Elimina Tutti Gli Indici



Elasticsearch è un motore di ricerca e analisi open source gratuito che alimenta ELK Stack. Elasticsearch consente alle varie pipeline di dati utilizzando strumenti come Logstash di raccogliere e aggregare i dati. Elasticsearch archivia quindi i dati forniti, consentendo alle applicazioni di accedere, cercare, ordinare e filtrare grandi quantità di dati quasi in tempo reale. Elasticsearch ti consente inoltre di visualizzare i vari dati utilizzando gli strumenti integrati.

Tali caratteristiche rendono Elasticseach altamente adatto per la ricerca e l'ordinamento di grandi quantità di dati con una latenza minima o nulla. Quindi, sia che tu stia creando un motore di ricerca o analizzando log, 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, puoi avere un indice che contiene tutti i dati per i log di un'applicazione web.



Come tutti i database, potresti riscontrare uno scenario in cui devi rimuovere tutti i dati dal tuo cluster, consentendoti di iniziare con una tabula rasa.



Questo articolo mostra come utilizzare le funzionalità dell'API Elasticsearch per rimuovere tutti gli indici dal tuo cluster.





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

API di eliminazione dell'indice di Elasticsearch

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



Come puoi immaginare, utilizziamo l'API Delete Index per rimuovere un indice da un cluster. La sintassi per le richieste di eliminazione dell'indice è la seguente:

ELIMINA /< indice >


La richiesta rimuove l'indice specificato e i documenti, gli shard e tutti i relativi metadati archiviati.

Tieni presente che ciò non rimuoverà alcun componente Kibana associato all'indice specificato come visualizzazioni dati, ecc.

È possibile specificare uno o più indici separandoli con virgole. Un esempio di sintassi è come mostrato:

ELIMINA / nome_indice
ELIMINA / indice1,indice2,indice3...indiceN


Elasticsearch ti impedisce di utilizzare l'alias Indice durante l'eliminazione di un indice. Al contrario, è necessario utilizzare il nome dell'indice.

Esempio 1: Elasticsearch Elimina indice

L'esempio seguente mostra come utilizzare l'API di eliminazione dell'indice di Elasticsearch per rimuovere un indice esistente dal cluster:

arricciare -XCANCELLA 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: rapporti'


La richiesta precedente invia una richiesta DELETE all'API di eliminazione. 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 più indici passandoli come un elenco separato da virgole. Una query di esempio è quella mostrata:

arricciare -XCANCELLA 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: rapporti'


Il comando precedente cancella 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 utilizzare il carattere jolly _all nell'API dell'indice di eliminazione per rimuovere tutti gli indici da un cluster. L'API di eliminazione dell'indice ti impedirà, per impostazione predefinita, di passare i caratteri jolly nella richiesta.

Puoi disabilitarlo impostando action.destructive_requires_name su false.

La query seguente mostra come abilitare l'uso dei caratteri jolly nell'API dell'indice di eliminazione:

arricciare -XPUT 'localhost:9200 /_cluster/impostazioni' -H 'kbn-xsrf: rapporti' -H 'Tipo di contenuto: application/json' -d '
{
'transitorio': {
'action.destructive_requires_name' : false
}
}'


NOTA: sebbene Elasticsearch sconsiglia l'uso di impostazioni di cluster transitori, evita di impostare parametri di cluster distruttivi come l'uso di caratteri jolly come impostazione di cluster persistente.

La query precedente dovrebbe restituire il risultato come:

{
'riconosciuto' : VERO ,
'persistente' : { } ,
'transitorio' : {
'azione' : {
'destructive_requires_name' : 'falso'
}
}
}


Una volta completata l'operazione, puoi rimuovere tutti gli indici nel cluster eseguendo il comando seguente:

arricciare -XCANCELLA “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: rapporti'

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

Se desideri rimuovere tutti gli indici che corrispondono a un modello specifico, puoi utilizzare un carattere jolly (*).

Ad esempio, per rimuovere tutti gli indici che iniziano con il nome kibana, possiamo eseguire la seguente query:

arricciare -XCANCELLA “http://localhost:9200/kibana*” -H 'kbn-xsrf: rapporti'


La richiesta precedente rimuove tutti gli indici che iniziano con kibana.

NOTA: La richiesta precedente richiede l'utilizzo di caratteri jolly. Pertanto, è necessario abilitare il supporto per i caratteri jolly come mostrato nella sezione precedente.

Conclusione

Questa guida ti ha insegnato come utilizzare l'API dell'indice di eliminazione di Elasticsearch. Hai anche imparato come abilitare il supporto dei caratteri jolly nel tuo cluster, rimuovere tutti gli indici e rimuovere gli indici che corrispondono a un modello specifico.