Elasticsearch Spring Data 的非反应式对应物org.springframework.data.elasticsearch.core.ElasticsearchTemplate
提供了一种方法public boolean deleteIndex(String indexName)
,我可以使用它来删除索引。但是,我在ReactiveElasticsearchTemplate
.
1 回答
1
这DefaultReactiveElasticsearchClient
是由
ReactiveRestClients.create(ClientConfiguration clientConfiguration)
实现接口,该接口org.springframework.data.elasticsearch.client.reactive.ReactiveElasticsearchClient.Indices
有两种删除索引的方法:
default Mono<Void> deleteIndex(DeleteIndexRequest deleteIndexRequest) {
return deleteIndex(HttpHeaders.EMPTY, deleteIndexRequest);
}
default Mono<Void> deleteIndex(Consumer<DeleteIndexRequest> consumer) {
DeleteIndexRequest request = new DeleteIndexRequest();
consumer.accept(request);
return deleteIndex(request);
}
default Mono<Void> deleteIndex(DeleteIndexRequest deleteIndexRequest) {
return deleteIndex(HttpHeaders.EMPTY, deleteIndexRequest);
}
所以没有什么可以直接传入索引名,而是DeleteIndexRequest
有一个只接受索引名的构造函数。
((DefaultReactiveElasticsearchClient)client).deleteIndex(new DeleteIndexRequest(indexname)).
所以目前这个演员阵容很难看,但可以做到。我们有一张票Operations
可以在接口和实现 中添加这个功能。
于 2020-01-29T07:55:56.567 回答