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

发布于:2025-02-11 ⋅ 阅读:(55) ⋅ 点赞:(0)

一、背景说明

版本漏洞处理,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;
    }


网站公告

今日签到

点亮在社区的每一天
去签到