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