我试过下面的代码它工作正常,但它使用 运输客户端 删除所有文档。
DeleteByQueryRequestBuilder deleteByQueryRequestBuilder = DeleteByQueryAction.INSTANCE.newRequestBuilder(transportClient)
.filter(QueryBuilders.matchAllQuery())
.source(indexName);
BulkByScrollResponse response = deleteByQueryRequestBuilder
.filter(QueryBuilders.matchAllQuery()).get()
我正在使用 Elasticsearch 6.1.4 .
使用 从索引中删除所有文档的方法是什么? RestHighLevelClient .
最佳答案
我正在使用 Elasticsearch 6.5.4。在这个片段中,我使用客户端 RestHighLevelClient。
DeleteByQueryRequest request = new DeleteByQueryRequest(indexName);
request.setQuery(QueryBuilders.matchAllQuery());
BulkByScrollResponse response = client.deleteByQuery(request, RequestOptions.DEFAULT);
类(class)
RestHighLevelClient
有需要请求的方法 deleteByQuery。在此请求中,您可以定义所需的过滤器。您可以找到更多信息 here.
关于elasticsearch - 如何使用 RestHighLevelClient 从 Elasticsearch 中的索引中删除所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53040910/