Búsqueda de sitios web

Cómo eliminar datos del índice Elasticsearch con curl


En Elasticsearch, un índice es similar a una base de datos en el mundo de las bases de datos relacionales. Es algo parecido a esto:

MySQL => Databases => Tables => Columns/Rows
Elasticsearch => Indices => Types => Documents with Properties

Un índice es un espacio de nombres lógico que se asigna a uno o más fragmentos primarios y puede tener cero o más fragmentos de réplica. El mapeo de Elasticsearch es como un esquema de base de datos y describe los campos o las propiedades que deben tener los documentos de clase similar.

Cuando trabaja con una gran cantidad de datos, sus índices de Elasticsearch podrían crecer rápidamente hasta agotar su almacenamiento local. Esto puede requerir la eliminación de índices antiguos que ya no son necesarios. En este tutorial, lo guiaré a través del proceso de eliminación de datos de Elasticsearch Index.

Cómo eliminar datos del índice Elasticsearch

Primero obtenga una lista de índices de Elasticsearch disponibles en su clúster usando curl:

$ curl http://<node-ip|hostname>:9200/_cat/indices

El  puede ser el host local, la dirección IP del nodo Elasticsearch o un nombre de host de uno de los nodos del clúster. Ver ejemplo a continuación

$ curl http://10.1.1.18:9200/_cat/indices
green open graylog_309 dJr9peVJT5Kr4_nnzinzrw 4 0 20024903 0 3.3gb 3.3gb
green open graylog_325 cD9PeVslRTSNA_PlDAPZng 4 0   905913 0 175mb 175mb
green open graylog_324 4RpR8isyQBqu_h_ifnLpJA 4 0 20025091 0 3.3gb 3.3gb
green open graylog_322 F6TN9vCPQEaYcZlNhmMokQ 4 0 20018746 0 3.3gb 3.3gb
green open graylog_311 DccOlotNR9GKmusIhRGi1w 4 0 20012500 0 3.3gb 3.3gb
green open graylog_318 -SqQ5oEcRtSlZvqaZ_L1jg 4 0 20032700 0 3.3gb 3.3gb
green open graylog_307 DLoFntfVRY-91FyasXoCUg 4 0 20026500 0 3.3gb 3.3gb
green open graylog_308 Vygbzx-WR4WGkOWTM1ptmw 4 0 20027535 0 3.3gb 3.3gb

Una vez que identifique el índice a eliminar, use el siguiente comando para eliminarlo junto con sus datos.

$ curl -XDELETE http://<node-ip|hostname>:9200/<index-name>

Ver ejemplo:

$ curl -XDELETE http://10.1.1.18:9200/graylog_308
{"acknowledged":true}

Puede utilizar un bucle bash simple para eliminar múltiples índices

for i in graylog_307 graylog_308 graylog_309 graylog_311; do
 curl -XDELETE http://10.1.1.18:9200/${i}
done

Puede confirmar la eliminación de un índice volviendo a comprobar la lista disponible

$ curl http://10.1.1.18:9200/_cat/indices

Tenemos varios artículos sobre configuración de Elasticsearch, aquí están los enlaces

Cómo implementar un clúster Elasticsearch de tres nodos en Ubuntu

Cómo instalar Elasticsearch 7.x en Ubuntu 18.04

Cómo instalar Elasticsearch 6.x en Ubuntu 18.04

Cómo instalar Elasticsearch en CentOS 7

Artículos relacionados: