博客摘录「 es解决只能查询10000条数据方案」2023年4月11日

1. Count计算

在项目中,count也算是一个比较常用的方法。之前项目中有需要用到,都是基于查询所有的方法,直接取total的值返回。最近发现,其实Elasticsearch单独封装了一个CountRequest类来获取数量。代码如下:
 

/**
 * 查询指定索引文档总数(可增加查询条件,如果为空,则查询所有)
 */
@Test
public void testCount() {
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    CountRequest countRequest = new CountRequest();
    //构造查询条件
//        searchSourceBuilder.query(QueryBuilders.termQuery("fieldName", 1));
    countRequest.indices("indexName").source(searchSourceBuilder);
    CountResponse countResponse = null;
    try {
        countResponse = restHighLevelClient.count(countRequest, RequestOptions.DEFAULT);
        return countResponse.getCount();
    } catch (IOException e) {
        log.error("[EsClientConfig.countDocumentSize][error][fail to count document size,param is {}]", countRequest);
    }
    return 0;
    log.info("[document size is {}, indexName is {}]", size, indexName);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值