大家好,我有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}
你有什么想法吗?
2条答案
按热度按时间kg7wmglp1#
Elasticsearch documentation说:
删除索引API也可以应用于多个索引,方法是使用逗号分隔的列表,或者使用_all或 * 作为索引应用于所有索引(小心!)。
若要禁止允许通过通配符或_all删除索引,请将配置中的action.destructive_requires_namesetting设置为true。此设置也可以通过群集更新设置API进行更改。
因此,如果您有预定义数量的索引要删除,则此方法可能有效:
如果要使用通配符,则必须按上述方式更新配置
vm0i2vca2#
您可以在kibana dev工具中使用以下内容: