es 5.x 版本使用srcoll scan解决数据太大,分页报错的问题

Elasticsearch相似度列表查询
本文介绍了一种使用Elasticsearch进行相似度列表查询的方法,通过构建复杂的查询条件,实现对特定字段的精确匹配与排除,同时采用倒序排序并分页显示结果,最后通过滚动查询方式获取所有相关记录。
 @Override
    public Page<RealTimeMonitorDomain> querySimlarInfoList(int pageSize, int page, String groupId,String id) {
        //1.初始化条件
        NativeSearchQueryBuilder nsb = new NativeSearchQueryBuilder();//总的查询条件
        BoolQueryBuilder bools = QueryBuilders.boolQuery();
        //2.设置查询
        bools.must(QueryBuilders.termQuery("groupId",groupId));
        bools.mustNot(QueryBuilders.termQuery("id",id));
        nsb.withQuery(bools);
        //3.设置排序
        nsb.withSort(new FieldSortBuilder("pubDate").order(SortOrder.DESC));
        //4.设置分页
        nsb.withPageable(new PageRequest(page-1, pageSize));//pagenum是从0开始,坑爹啊!
        //5.查询的建立
        SearchQuery searchQuery = nsb.build();//查询建立
        logger.info("相似度列表查询sql:"+searchQuery.getQuery().toString());
       // Page<RealTimeMonitorDomain> pageable = elasticsearchTemplate.queryForPage(searchQuery,RealTimeMonitorDomain.class);
        Paging paging=new Paging();
        List<RealTimeMonitorDomai
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值