在为文档建立索引之前,我想检查索引是否为空。这意味着,我只想获取所有文档的数量。如果返回0
,我想继续执行其他操作。
我正在将Elastic Search 6.2.3版本与RestHighLevelClient一起使用。
最佳答案
只需运行大小等于0的搜索查询即可。然后您就可以访问总命中数,这意味着索引中有多少个文档。
SearchRequest searchRequest = new SearchRequest("index_name");
SearchSourceBuilder searchBuilder = new SearchSourceBuilder();
searchBuilder.query(QueryBuilders.matchAllQuery());
searchBuilder.size(0);
searchRequest.source(searchBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = searchResponse.getHits();
long totalHits = hits.getTotalHits();
if(totalHits == 0) {
// proceed
}