[英]Delete multiple indices in one Elasticsearch HTTP request (cURL)
我正在使用此curl
命令行来清理我的索引:
curl -XDELETE http://example.com/my_index-*
但是,现在,我想删除my_index-.*[.][0-3][0-9]
:
my_index-YYYY.MM.dd
my_index-YYYY.MM.dd-*
我发现的相关Elasticsearch文档:
删除索引API在正则表达式上没有说什么。
多个指数说:
它还支持通配符,例如:
test*
或*test
或te*t
或*test*
,以及“添加”(+
)和“删除”(-
)的功能,例如:+test*,-test3
。
几乎所有具有
index
参数的API都支持index
参数值中的日期数学。
[...]
date_format
是应该呈现计算日期的可选格式。 默认为YYYY.MM.dd
我的问题:
DELETE
请求方法以删除仅格式化为my_index-YYYY.MM.dd
索引? my_index-*
但保留my_index-*-*
? 例如,有时可以在POST
数据中提供正则表达式:
curl -XPOST http://example.com/my_index-2017.07.14/_search?pretty' -H 'Content-Type: application/json' -d'
{
"suggest": {
"song-suggest" : {
"regex" : "n[ever|i]r",
"completion" : {
"field" : "suggest"
}
}
}
}'
删除所有索引my_index-*
除了索引my_index-*-*
curl -X DELETE http://es.example.com/my_index-*,-my_index-*-*
Elasticsearch 5.x不接受正则表达式或文件名模式?[az]
选择多个索引。
但是, 多指数文档允许+
和-
包含和排除索引。
用于防止意外删除索引的脚本my_index-*-*
:
#!/bin/bash -xe
pattern="${1:-*}"
curl -X DELETE https://es.example.com/my_index-"$pattern",-my_index-*-*?pretty
index
可以包含以逗号分隔的索引模式列表,例如my_index_1,my_index_2,my_index_3
。 my_index*
。 +
和-
作为索引前缀,例如my_index_*,-my_index_2017*,+my_index_2017-01*,-my_index_2017-01-31
。 +
这DELETE
请求删除所有指标my_index_*
之前my_index_2017-01-31
index_list='my_index_*,-my_index_2017*,+my_index_2017-01*,-my_index_2017-01-31'
curl -X DELETE http://es.example.com/"$index_list"
my_index_*
my_index_2017*
my_index_2017-01*
my_index_2017-01-31
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.