排除模式的Elasticsearch索引不适用于DeleteIndexRequest Java API

时间:2019-09-19 13:48:04

标签: java elasticsearch

我刚写完一个用于“重新别名”索引的组件。 我的每个索引都有一个时间戳(同一工作中多个索引的时间戳相同)。

我在代码的任何地方都使用了索引模式,并且Java API的所有方法对于DeleteIndexRequest都可以正常执行。

我需要删除其他作业中的所有索引。

这是我的代码:

DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(key);

RequestOptions.Builder optionsBuilder = RequestOptions.DEFAULT.toBuilder();
optionsBuilder.addHeader("allow_no_indices", "true");
optionsBuilder.addHeader("ignore_unavailable", "true");

client.indices().delete(deleteIndexRequest, optionsBuilder.build());

如果我使用'*20190919-151048'参数调用此方法,则一切正常,但! 如果我使用'-*20190919-151048'之类的排除模式,则没有附加...

cf:Multiple Indices syntax

我也使用curl _cat尝试相同的操作。 包容模式效果很好 排除模式不起作用

注意:将action.destructive_requires_name设置为false,使用包含模式的删除效果很好。

你有什么主意吗?

致谢

0 个答案:

没有答案