当前位置: 首页 > news >正文

网站建设定制开发网站设计开发宁波优质网站制作哪家好

网站建设定制开发网站设计开发,宁波优质网站制作哪家好,个人网站设计与实现结论,企业网站可以备案几个SpringBoot项目ES6.8.15 升级到 ES7.4.0 前言 由于公司内部资产统一整理,并且公司内部部署有多个版本的es集群,所以有必要将目前负责项目的ES集群升级到公司同一版本7.4.0。es6到es7的升级变化还是挺大的,因此在这里做一下简单记录&#xf…

在这里插入图片描述

SpringBoot项目ES6.8.15 升级到 ES7.4.0

前言

由于公司内部资产统一整理,并且公司内部部署有多个版本的es集群,所以有必要将目前负责项目的ES集群升级到公司同一版本7.4.0。es6到es7的升级变化还是挺大的,因此在这里做一下简单记录,
注:升级方案需要根据实际项目来定,本升级方案可能不是最优,但目前来看应该是比较适合这个项目的

1. 依赖相关

1. SpringBoot版本:2.3.12.RELEASE

2. spring.data.elasticsearch:

旧版本
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-elasticsearch</artifactId><version>3.2.4.RELEASE</version>
</dependency>
新版本
<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-elasticsearch</artifactId><version>4.0.9.RELEASE</version>
</dependency>
spring.data.elasticsearch和ElasticSearch版本对应关系

spring.data.elasticsearch和ElasticSearch版本对应关系
在这里插入图片描述

3. elasticsearch

移除org.elasticsearch.elasticsearch的依赖,直接使用spring.data.elasticsearch中的elasticsearch依赖

4. spring-boot-autoconfigure

移除spring-boot-autoconfigure依赖的版本

旧版本
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.2.4.RELEASE</version>
</dependency>
新版本
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId>
</dependency>

2. mapping文件

升级es7.4后,索引的mapping文件发生了相应的变化,移除了type字段,如下所示

旧版本

{"index_name": {"mappings": {"part": {"properties": {"brandCode": {"type": "keyword"},"brandName": {"type": "keyword"},"brands": {"type": "keyword"},"enable": {"type": "boolean"}}}}}
}

新版本

{"index_name": {"mappings": {"properties": {"brandCode": {"type": "keyword"},"brandName": {"type": "keyword"},"brands": {"type": "keyword"},"enable": {"type": "boolean"}}}}
}

2. 配置文件

spring.elasticsearch.rest.uris=集群地址
spring.elasticsearch.rest.username=账号
spring.elasticsearch.rest.password=密码

3. 代码修改

  1. elasticsearchTemplate修改为elasticsearchRestTemplate
  2. SearchQuery 修改为NativeSearchQuery
  3. repo.search 修改为 elasticsearchRestTemplate.search
  4. 之前的NativeSearchQueryBuilder可以直接设置索引别名,升级之后不支持,需要在elasticsearchRestTemplate.search()方法中通过IndexCoordinates.of(alias)参数来设置索引
  5. elasticsearchRestTemplate.search()方法返回值也有相应的变化,需要自行探索修改

代码示例

旧版本
PartsResult result = new PartsResult();
BoolQueryBuilder builder = builderPart(param);
SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(alias).withQuery(builder).build();
long time = System.currentTimeMillis();
Page<SearchPart> pageResult = repo.search(searchQuery);
log.debug("search oe object time:{}",System.currentTimeMillis()-time);
新版本
PartsResult result = new PartsResult();
BoolQueryBuilder builder = builderPart(param);
NativeSearchQuery  searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
long time = System.currentTimeMillis();
SearchHits<SearchPart> search = elasticsearchRestTemplate.search(searchQuery, SearchPart.class, IndexCoordinates.of(alias));
List<SearchPart> parts = new ArrayList<>();
if (search.hasSearchHits()){for (SearchHit<SearchPart> searchHit : search.getSearchHits()) {SearchPart content = searchHit.getContent();parts.add(content);}
}
log.debug("search oe object time:{}",System.currentTimeMillis()-time);

4. 总结

目前仅仅只是升级完之后可以正常使用,还需要进一步进行代码优化和错误排查。本篇文章旨在为大家升级的时候提供一个参考,有任何问题可以在评论区或者私信交流。

http://www.yayakq.cn/news/348176/

相关文章:

  • 邢台网站建设电话大型小说网站开发语言
  • 南京 微网站 建站微小店网站建设比较好
  • wordpress网站顶部开源免费企业网站系统
  • 租车公司网站 模板网站前台页面的设计与实现
  • 网站设计注册做网站业务的怎么找资源
  • 东莞高端做网站企业网站建设广州
  • 做一个网站的基本步骤汝州市文明建设门户网站
  • 邢台网站建设58做网站的策划需要做什么
  • 南宁网站建设产品设计大师作品
  • 小程序与手机网站区别公司的网站建设哪家比较好
  • 佛山网站优化效果微盟企业微信助手
  • 做网站什么空间比较好手机微网站开发教程
  • 网站模版购买做外贸学英语的网站
  • 凡科是免费做网站吗腾讯云申请域名
  • wap网站适配平面设计教程视频全集免费
  • 镇江网站设计哪家好毕业答辩ppt 网站开发
  • 望城经济建设开区门户网站东莞网站建设seo
  • 福田网站 建设深圳信科网站设置不能通过链接访问
  • 好看的网站排版深圳市研发网站建设哪家好
  • 大连建站费用网站策划 ppt
  • 网站建设平台合同公司网站可以自己做
  • 收录网站制作秦皇岛市建设银行网点
  • 用软件做模板下载网站天元建设集团有限公司张国庆
  • 台州招聘网站建设六安在建项目和拟建项目
  • 温州建设网站哪家好建设银行网站会员怎么注册
  • 崇明苏州网站建设专门开发小程序的公司
  • 盐山县网站建设关键词搜索量怎么查
  • 企业网站优秀案例网站推广方式有哪些
  • 科技公司网站欣赏win7 iis7 添加网站
  • 河北省永清县建设局网站网站后台登录地址修改