Как удалить данные индекса Elasticsearch с помощью Curl |
В Elasticsearch индекс аналогичен базе данных в мире реляционных баз данных. Это выглядит примерно так:
MySQL => Databases => Tables => Columns/Rows
Elasticsearch => Indices => Types => Documents with Properties
Индекс — это логическое пространство имен, которое сопоставляется с одним или несколькими первичными сегментами и может иметь ноль или более сегментов-реплик. Сопоставление Elasticsearch похоже на схему базы данных и описывает поля
или свойства
, которые должны иметь документы аналогичного класса.
При работе с огромным объемом данных ваши индексы Elasticsearch могут быстро расти и исчерпать ваше локальное хранилище. Это может потребовать удаления старых индексов, которые больше не нужны. В этом руководстве я покажу вам процесс удаления данных индекса Elasticsearch.
Как удалить данные индекса Elasticsearch
Сначала получите список индексов Elasticsearch, доступных в вашем кластере, с помощью curl
:
$ curl http://<node-ip|hostname>:9200/_cat/indices
может быть localhost, IP-адресом узла Elasticsearch или именем хоста одного из узлов кластера. См. пример ниже
$ 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
Как только вы определите индекс, который нужно удалить, используйте следующую команду, чтобы удалить его вместе с его данными.
$ curl -XDELETE http://<node-ip|hostname>:9200/<index-name>
См. пример:
$ curl -XDELETE http://10.1.1.18:9200/graylog_308
{"acknowledged":true}
Вы можете использовать простой цикл bash для удаления нескольких индексов.
for i in graylog_307 graylog_308 graylog_309 graylog_311; do
curl -XDELETE http://10.1.1.18:9200/${i}
done
Вы можете подтвердить удаление индекса, перепроверив доступный список.
$ curl http://10.1.1.18:9200/_cat/indices
У нас есть несколько статей по настройке Elasticsearch, вот ссылки.
Как развернуть кластер Elasticsearch из трех узлов в Ubuntu
Как установить Elasticsearch 7.x на Ubuntu 18.04
Как установить Elasticsearch 6.x в Ubuntu 18.04
Как установить Elasticsearch на CentOS 7