springboot-starter版本升级es版本问题

一、背景说明

版本漏洞处理,springboot版本升级,es版本暂不升级,但是pom引用中es版本一直为7.17.15高版本,不想显示声明版本,定位具体问题,最后还是重新定义了版本进行处理。

二、异常情况

这里看4.4.18是先从2.2.13中依赖来的,但实际打开后不是 

你以为只把这个显示声明成3.2.12版本就ok了吗,实际不是,上面的7.17.15也会出现同样的问题

根本原因还是starter升级后,pom里面有es的版本配置

直接粘贴后重新声明版本后正常

但是还是有坑,springboot-starter版本不兼容,只能升级es

ES版本保持6.18.3和springboot-starter 2.7.18冲突,只能升级新版本

三、版本升级

1、es7 之后取消了type

2、底层一些实现方法更新,没有了serchPage,分页改成用ElasticsearchRestTemplate实现

    private Page<SfMerchant>  searchPage(NativeSearchQueryBuilder nativeSearchQueryBuilder,Query query){
        SearchHits<SfMerchant> searchHits = elasticsearchRestTemplate.search(nativeSearchQueryBuilder.build(), SfMerchant.class);
        SearchPage<SfMerchant> page = SearchHitSupport.searchPageFor(searchHits, nativeSearchQueryBuilder.build().getPageable());

        log.info("es查询商户数据={}", JSON.toJSONString(searchHits));
        log.info("es查询商户数据={}", JSON.toJSONString(page));

        Page<SfMerchant> respVoPage = new Page<>();
        respVoPage.setSize(query.getPageSize());
        respVoPage.setCurrent(query.getPageNo());

        //高亮结果集,也可以用page.getHighlightFields()获取
        List<SfMerchant> list = new ArrayList<>();
        for (SearchHit<SfMerchant> each : page) {
            SfMerchant vo = each.getContent();
            list.add(vo);
        }
        respVoPage.setRecords(list);
        respVoPage.setPages(page.getTotalPages());
        respVoPage.setTotal(page.getTotalElements());
        return respVoPage;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值