如何用CURL删除弹性搜索索引数据

时间:2020-02-23 14:30:22  来源:igfitidea点击:

在Elasticsearch中,索引类似于关系数据库世界的数据库。
它是这样的:

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

索引是逻辑命名空间,该空间地映射到一个或者多个主碎片,并且可以具有零或者更多的副本碎片。
Elasticsearch映射就像一个数据库模式并描述了 fields或者 properties类似类的文件应该有。

使用巨大的数据块时,Elasticsearch指数可以快速增长以消耗本地存储。
这可能需要删除不再需要的旧指数。
在他的教程中,我将指导我们完成删除弹性研究索引数据的过程。

如何删除Elasticsearch索引数据

首先获取群集中可用的弹性搜索教程列表 curl

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

<node-ip>可以是LocalHost,Elasticsearch Node IP地址或者其中一个群集节点的主机名。
看到以下示例

$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