如何使用 Spring Data Elasticsearch 删除索引?

How to delete index using Spring Data Elasticsearch?

我正在尝试通过代码而不是本机查询来删除 Elasticseach 实例中的索引。 所以我想做这个请求:

删除/索引名称

  public void deleteFoo(){
    DeleteRequest deleteRequest = new DeleteRequest("Foo");
    Request delete = RequestConverters.delete(deleteRequest);
    elasticsearchTemplate.delete(delete);
  }

但我遇到异常 org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: 'org.elasticsearch.core.TimeValue org.elasticsearch.action.delete.DeleteRequest.timeout()'

我做错了什么?

我尝试按名称删除它,但如果能够通过一次查询删除所有索引就好了。

自 Spring Data Elasticsearch 4.0 以来,这可以通过

elasticsearchTemplate.indexOps(IndexCoordinates.of("indexname")).delete();