Elasticsearch Excluir todos os índices

Elasticsearch Excluir Todos Os Indices



O Elasticsearch é um mecanismo de pesquisa e análise gratuito e de código aberto que alimenta o ELK Stack. O Elasticsearch permite que vários pipelines de dados usem ferramentas como o Logstash para coletar e agregar os dados. O Elasticsearch armazena os dados fornecidos, permitindo que os aplicativos acessem, pesquisem, classifiquem e filtrem grandes quantidades de dados quase em tempo real. O Elasticsearch também permite que você visualize os vários dados usando ferramentas integradas.

Esses recursos tornam o Elasticseach altamente adequado para pesquisar e classificar grandes quantidades de dados com latência mínima ou nenhuma. Portanto, se você estiver criando um mecanismo de pesquisa ou analisando logs, métricas e outros dados de texto, o Elasticsearch é uma ótima opção.







No coração do Elasticsearch está um índice. Um índice refere-se à unidade responsável por armazenar os documentos no Elasticsearch. Um índice é relativamente equivalente a um banco de dados no contexto de bancos de dados relacionais. Por exemplo, você pode ter um índice que contém todos os dados dos logs de um aplicativo da web.



Como todos os bancos de dados, você pode encontrar um cenário em que precisa remover todos os dados do cluster, permitindo que você comece do zero.



Este artigo mostra como usar os recursos da API Elasticsearch para remover todos os índices do cluster.





CUIDADO: Os métodos e técnicas usados ​​neste artigo levarão à perda de dados. Não nos responsabilizamos por qualquer perda de dados que possa ocorrer devido às instruções deste artigo.

API de exclusão de índice do Elasticsearch

Se você estiver iniciando o Elasticsearch, precisará saber como realizar as chamadas de API básicas. Isso ocorre porque o Elasticsearch utiliza as APIs ao máximo.



Como você pode imaginar, usamos a API Delete Index para remover um índice de um cluster. A sintaxe para as solicitações de exclusão de índice é mostrada:

EXCLUIR /< índice >


A solicitação remove o índice especificado e os documentos armazenados, fragmentos e todos os seus metadados.

Lembre-se de que isso não removerá nenhum componente do Kibana associado ao índice especificado, como visualizações de dados etc.

Você pode especificar um ou vários índices separando-os com vírgulas. Um exemplo de sintaxe é como mostrado:

EXCLUIR / index_name
EXCLUIR / índice1,índice2,índice3...índiceN


O Elasticsearch impede que você use o alias Index ao excluir um índice. Em vez disso, você deve usar o nome do índice.

Exemplo 1: índice de exclusão do Elasticsearch

O exemplo a seguir mostra como usar a API de exclusão do Elasticsearch para remover um índice existente do cluster:

ondulação -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: relatórios'


A solicitação anterior envia uma solicitação DELETE para a API de exclusão. Isso deve remover o índice com o nome “kibana_sample_data_logs”.

A saída resultante é como mostrado:

{
'reconhecido' : verdadeiro
}

Exemplo 2: Elasticsearch Excluir vários índices

Podemos remover os vários índices passando-os como uma lista separada por vírgulas. Um exemplo de consulta é mostrado:

ondulação -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: relatórios'


O comando anterior exclui os índices especificados e retorna uma mensagem conforme mostrado:

{
'reconhecido' : verdadeiro
}


Observação: se o índice não existir, o Elasticsearch retornará um erro conforme mostrado:

Exemplo 3: Elasticsearch Excluir todos os índices

Podemos usar o curinga _all na API de exclusão de índice para remover todos os índices de um cluster. A API de exclusão de índice, por padrão, impedirá que você passe os curingas na solicitação.

Você pode desabilitar isso configurando action.desctructive_requires_name como false.

A consulta a seguir mostra como habilitar o uso de curingas na API de índice de exclusão:

ondulação -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: relatórios' -H 'Tipo de conteúdo: aplicativo/json' -d '
{
'transitório': {
'action.destructive_requires_name': false
}
}'


OBSERVAÇÃO: embora o Elasticsearch não recomende o uso de configurações de cluster transitórias, evite definir os parâmetros de cluster destrutivos, como o uso de curingas como uma configuração de cluster persistente.

A consulta anterior deve retornar o resultado como:

{
'reconhecido' : verdadeiro ,
'persistente' : { } ,
'transitório' : {
'ação' : {
'destructive_requires_name' : 'falso'
}
}
}


Uma vez bem-sucedido, você pode remover todos os índices no cluster executando o seguinte comando:

ondulação -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: relatórios'

Exemplo 4: Elasticsearch Excluir todos os índices que correspondem a nomes específicos

Se você deseja remover todos os índices que correspondem a um padrão específico, você pode usar um caractere curinga (*).

Por exemplo, para remover todos os índices que começam com o nome kibana, podemos executar a seguinte consulta:

ondulação -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: relatórios'


A solicitação anterior remove todos os índices que começam com kibana.

NOTA: A solicitação anterior requer o uso de curingas. Portanto, você deve habilitar o suporte a curingas conforme mostrado na seção anterior.

Conclusão

Este guia ensinou você a usar a API de índice de exclusão do Elasticsearch. Você também aprendeu como habilitar o suporte a curingas em seu cluster, remover todos os índices e remover os índices que correspondem a um padrão específico.