栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch 分页条件查询java示例

elasticsearch 分页条件查询java示例

public Page queryByPage(OrderQueryVo orderQueryVo) throws Exception {
        //创建查询对象
        BoolQueryBuilder base_query = QueryBuilders.boolQuery();

        //添加查询条件
        //判断,订单id
        if(orderQueryVo.getId()!=null){
            base_query.must(QueryBuilders.termQuery("id",orderQueryVo.getId()));
        }
        //判断,订单状态
        if(orderQueryVo.getStatus()!=null){
            base_query.must
                    (QueryBuilders.termQuery("status", orderQueryVo.getStatus()));
        }else if(orderQueryVo.getStatusName() != null
                && !orderQueryVo.getStatusName().trim().equals("")){
            base_query.must(QueryBuilders.
                    termQuery("statusName", orderQueryVo.getStatusName().trim()));
        }
        //判断,订单创建时间范围查询
        if(orderQueryVo.getMaxOrderTime()!=null){
            base_query.must(QueryBuilders.rangeQuery("orderTime").
                    lte(DateUtil.format(orderQueryVo.getMaxOrderTime(), "yyyy-MM-dd'T'HH:mm:ss")));
        }
        if(orderQueryVo.getMinOrderTime()!=null){
            base_query.must(QueryBuilders.rangeQuery("orderTime").
                    gte(DateUtil.format(orderQueryVo.getMinOrderTime(), "yyyy-MM-dd'T'HH:mm:ss")));
        }

        //判断, 关键字
        if (orderQueryVo.getKeyword() != null && !orderQueryVo.getKeyword().trim().equals("")){
            //获取keyword
            String keyword = orderQueryVo.getKeyword().trim();
            //创建子查询对象
            BoolQueryBuilder sub_query = QueryBuilders.boolQuery();
            //添加查询条件
            sub_query.should(QueryBuilders.matchQuery("productName", keyword));

            //将子查询添加到base_query
            base_query.must(sub_query);

        }

        //设置分页和根据创建时间降序排序
        PageRequest page = PageRequest.of
                (orderQueryVo.getPageNo(), orderQueryVo.getPageSize(), Sort.by(Sort.Order.desc("orderTime")));
        //查询
        Page pa = orderDao.search(base_query, page);

        return pa;
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742623.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号