做黄金期货的网站,网页空间免费申请,抖音怎么挂小程序赚钱,广州商砼建站规范不同版本的ES差异非常大#xff0c;包括不局限于ES语法、架构、API、集群搭建等等。这些差异足以导致不同版本是否能满足你的业务场景以及后续开发维护成本等各种问题。
先说结论#xff0c;以个人实践经验及综合考虑推荐使用 7.x 版本中的 7.10版本
ES版本对比
以下是通过…不同版本的ES差异非常大包括不局限于ES语法、架构、API、集群搭建等等。这些差异足以导致不同版本是否能满足你的业务场景以及后续开发维护成本等各种问题。
先说结论以个人实践经验及综合考虑推荐使用 7.x 版本中的 7.10版本
ES版本对比
以下是通过网上大量资料搜索整理对比了对各个版本差异汇总出的一个表格 类型\版本 6.x 7.x 8.x 建议 Licence Apache 2.0 7.0 ~ 7.10 Apache 2.0 7.11 SSPL SSPL 建议选择更友好的Apache2.0版本,SSPL协议对于想要让ES做为PAAS对外提供服务的话将会面临es厂商的限制 云厂商支持程度 腾讯、阿里云均支持 华为不支持 腾讯云支持7.10.1、7.14.2 阿里云ES普通版支持7.7、7.10、7.16 阿里云ES Serverless只支持7.10.x 华为云支持7.6.2, 7.10.2 腾讯支持 8.11.3 阿里云ES普通版支持8.5、8.9 华为不支持 各云厂商也主要在推广7.x版本稳定性及占用率更高建议选择7.x中的7.10.0版本 发版时间 初版2016 2019年 2021年底 建议选择7.x版本经历将近4年稳定性已经经过验证6.x和8.x一个太老一个太新 特性差异 / 集群配置简化master选举进行了优化 能够避免集群脑裂问题; 索引创建已经去除了type更加简化; 索引查询算法升级查询性能有优化; 提供安全策略; Kibana更轻量化更易用; ES API进行了升级方便后续升级使用; 更加安全es默认开启了一些安全功能; 新的搜索API 特性比如支持NLP等; 7.x基本也能满足目前需求,稳定性也更有保障 JDK版本 Java 8 7.0.x-7.4.x 支持8 7.5.x-7.14.x 支持8-11 7.15.x-7.17.x 支持8/11/17 Spring Boot兼容性 2.1 ~ 2.2版本对6.x支持 2.3 ~ 2.7版本对7.x支持 / 这块主要看你Spring Boot框架版本了
ES客户端SDK版本选择
结论 使用spring官方提供的spring-boot-es-starter
以下为各种客户端对比 客户端 适用版本 优点 缺点 建议 TransportClient 5.x 6.x 启动速度快轻量级可创建极多连接与应用程序解耦推荐使用原生的ES本身就很简单灵活性很高 分发或查询数据速度较慢不能获取指定节点数据高版本已经废弃 不建议使用 JestClient 5.x 6.x 7.x 提供Restful API 原生ES API不具备若ES集群使用不同的ES版本使用原生ES API会有问题而Jest不会更安全可以在Http层添加安全处理JestClient是ElasticSearch的Java HTTP Rest客户端 JestClient填补了 ElasticSearch缺少HttpRest接口客户端的空白; JestClient可以跨版本 18年已经停止更新7.x、8.x版本兼容性存疑 不建议使用 RestClient low-level-rest-client 5.0 基于Http Client 进行的简单封装RestClient可以跨版本支持到目前8.x所有版本。 HttpClient和Jsoup都不直接支持发送DELETE方法带参数的请求官方高版本已经放弃使用。使用成本较高 不推荐 high-level-rest-client 7.2.0-7.16.x 官方基于RestClient进行的封装提供一系列API方便对ES的使用 在7.17版本后官方又废弃了 7部分版本推荐使用 New ElasticsearchClient 7.17 为最新官方提供的版本 较高版本es适用 8.x官方推荐使用 spring-boot-es-starter 3.0 spring官方封装的ES api使用起来相对简单,也spring兼容性也能保障教程也比较多。 需要与使用的es版本进行匹配 推荐使用