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
.