大家好我有100个索引进入我的elasticsearch,我想用一个查询删除它们。它们都以myindex开头:
myindex-1
myindex-2
myindex-3
myindex-4
.
.
.
myindex-100
当我尝试此查询时,它不起作用:
curl -XDELETE http://localhost:9200/myindex*
我明白了:
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Wildcard expressions or all indices are not allowed"}],"type":"illegal_argument_exception","reason":"Wildcard expressions or all indices are not allowed"},"status":400}
你有什么想法吗?
答案 0 :(得分:1)
Elasticsearch documentation说:
删除索引API也可以通过使用逗号分隔列表应用于多个索引,或者通过使用_all或*作为索引应用于所有索引(小心!)。
为了禁止允许通过通配符或_all删除索引,请将config中的action.destructive_requires_namesetting设置为true。也可以通过群集更新设置api更改此设置。
因此,如果要删除预定义数量的索引,这可能会有效:
{{1}}
如果您想使用通配符,则必须按照上述说明更新配置