Database
 sql >> Base de Dados >  >> RDS >> Database

Como excluir dados do Elastisearch


Um dos recursos exclusivos de design do Elasticsearch é que, diferentemente da maioria dos sistemas ou bancos de dados tradicionais, todas as tarefas, como conectar e manipular o Elasticsearch, são executadas usando uma REST API , o que significa que quase todas as consultas ou comandos executados no nó do Elasticsearch são uma solicitação HTTP simples para um URL específico.

Dependendo do HTTP verb enviado e a URL para o qual o verbo é enviado, o Elasticsearch pode realizar uma enorme variedade de ações no nó ou mesmo no cluster.

A estrutura de URL da API REST do Elasticsearch


No nível mais básico, para executar um comando no Elasticsearch, você precisará enviar um verbo HTTP para a URL do nó do Elasticsearch. Para desenvolvimento, normalmente é localhost:9200 .

Na maioria Em alguns casos, o método mais simples para enviar uma solicitação à API REST do Elasticsearch é por meio da útil ferramenta de linha de comando, cURL , que é uma ferramenta simples usada para transferir praticamente qualquer tipo de dados da Internet.

Por exemplo, para listar todos os indices , você pode executar o seguinte curl comando no prompt do shell do seu servidor de desenvolvimento (conforme indicado na documentação oficial:
$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size

Aqui estamos acessando a cat API (indicado pelo _ inicial sublinhado) e visualizando os indices , que mostra uma seção transversal de cada índice no cluster.

Índices, tipos, documentos e propriedades


Com um exemplo em vigor, podemos explorar com mais detalhes a estrutura específica das APIs REST do Elasticsearch, que geralmente consistem em três componentes estruturados, o index , o type , e o document :
localhost:9200/index/type/document

O index é a estrutura pai e é mais simplesmente considerada como um database que abriga muitos types . E index pode representar qualquer conceito, mas muitas vezes representará todo um sistema de componentes como uma shop ou uma bookstore .

Types estão contidos em um index e são semelhantes ao banco de dados tables , com cada type representando uma coleção de objetos semelhantes (como shirt ou book ).

Finalmente, o document é uma única instância ou representação de um objeto do pai type . Assim, o livro “O Hobbit” pode existir como um livro type no index chamada livraria .

Excluindo dados do Elasticsearch


Com a sintaxe básica da API REST fora do caminho, podemos explorar como realizar ações específicas, como excluir dados.

Excluir um único documento


Tomando nossa sintaxe básica como visto acima, precisamos usar curl e envie o DELETE Verbo HTTP, usando o -XDELETE opção:
$ curl -XDELETE 'localhost:9200/index/type/document'

Por exemplo, para excluir nosso livro mencionado document , podemos usar o seguinte comando:
$ curl -XDELETE 'localhost:9200/bookstore/book/1'

Isso excluirá o document com um ID de 1 do book type que está dentro da bookstore index .

Excluir um tipo


Como você pode imaginar, com a sintaxe ampliando um pouco, podemos remover um type inteiro . Aqui estamos excluindo o book type :
$ curl -XDELETE 'localhost:9200/bookstore/book'

Excluir um índice


Por fim, se desejarmos excluir um index inteiro , isso pode ser feito usando a mesma sintaxe de antes:
$ curl -XDELETE 'localhost:9200/bookstore'