elasticsearch - 如何使用 RestHighLevelClient 从 Elasticsearch 中的索引中删除所有文档

标签 elasticsearch elasticsearch-6 elasticsearch-java-api

我试过下面的代码它工作正常,但它使用 运输客户端 删除所有文档。

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/

相关文章:

elasticsearch - 对于基于时间的数据,我们可以在 Elasticsearch 中使用基于时间的类型而不是基于时间的索引吗

Elasticsearch 6.1.1 Java Api,缺少子聚合

elasticsearch - 如何匹配多个术语查询?

.net - ElasticSearch.net 6.0.2:无法声明PostData或Index方法

java - Elasticsearch RestHighLevelClient 缺少传递依赖项

elasticsearch - 为什么我的Elasticsearch多重匹配查询仅查找前缀?

java - Elasticsearch : no configured node available

javascript - 使用 ElasticSearch 在变量定义的字段上搜索

json - Elasticsearch:默认模板不检测日期

elasticsearch - 在Elasticsearch中更改映射字段的结构流程