sql >> Base de Datos >  >> RDS >> Database

Cómo eliminar datos de Elastisearch

Una de las características de diseño únicas de Elasticsearch es que, a diferencia de la mayoría de los sistemas o bases de datos tradicionales, todas las tareas, como conectarse y manipular Elasticsearch, se realizan mediante una REST API. , lo que significa que casi todas las consultas o comandos ejecutados en su nodo de Elasticsearch son una simple solicitud HTTP a una URL en particular.

Dependiendo del HTTP verb enviado y la URL a la que se envía el verbo, Elasticsearch puede realizar una gran variedad de acciones en el nodo o incluso en el clúster.

La estructura de URL de la API REST de Elasticsearch

En el nivel más básico, para ejecutar un comando en Elasticsearch, deberá enviar un verbo HTTP a la URL de su nodo de Elasticsearch. Para el desarrollo, normalmente es localhost:9200 .

En la mayoría casos, el método más simple para enviar una solicitud a la API REST de Elasticsearch es a través de la útil herramienta de línea de comandos, cURL , que es una herramienta sencilla que se utiliza para transferir casi cualquier tipo de datos de Internet.

Por ejemplo, para listar todos los indices , puede ejecutar el siguiente curl comando desde el indicador de shell de su servidor de desarrollo (como se indica en la documentación oficial:

$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size

Aquí estamos accediendo a la cat API (indicado por el _ inicial subrayado) y viendo los indices , que muestra una sección transversal de cada índice en el grupo.

Índices, Tipos, Documentos y Propiedades

Con un ejemplo en su lugar, podemos explorar con más detalle la estructura específica de las API REST de Elasticsearch, que generalmente constan de tres componentes estructurados, el index , el type y el document :

localhost:9200/index/type/document

El index es la estructura principal y se considera más simplemente como una database que alberga muchos types . Y index puede representar cualquier concepto, pero a menudo representará un sistema completo de componentes como una shop o una bookstore .

Types están contenidos en un index y son similares a las tables de la base de datos , con cada type representando una colección de objetos similares (como shirt o book ).

Finalmente, el document es una sola instancia o representación de un objeto del padre type . Así, el libro “El Hobbit” puede existir como un libro type en el index llamada librería .

Eliminación de datos de Elasticsearch

Con la sintaxis básica de la API REST fuera del camino, podemos explorar cómo realizar acciones específicas como eliminar datos.

Eliminar un solo documento

Tomando nuestra sintaxis básica como se ve arriba, necesitamos usar curl y envía el DELETE Verbo HTTP, usando -XDELETE opción:

$ curl -XDELETE 'localhost:9200/index/type/document'

Por ejemplo, para eliminar nuestro libro antes mencionado document , podríamos usar el siguiente comando:

$ curl -XDELETE 'localhost:9200/bookstore/book/1'

Esto eliminará el document con un ID de 1 del book type que está dentro de la bookstore index .

Eliminar un tipo

Como puede suponer, con la sintaxis solo ampliándose ligeramente, podemos eliminar un type completo . Aquí estamos eliminando el book type :

$ curl -XDELETE 'localhost:9200/bookstore/book'

Eliminar un índice

Por último, si deseamos eliminar un index completo , esto se puede hacer usando la misma sintaxis que antes:

$ curl -XDELETE 'localhost:9200/bookstore'