ELasticSearch 几个大版本之间的差异

简单说说关于elasticsearch各个大版本之间的区别

  • 初始版本0.7
    • 发布时间:2010.05.14
    • 主要特性
      • Zen Discovery 自动发现模块
      • Groovy Client支持
      • 简单的插件管理机制
      • 更好支持ICU分词器
      • 更多的管理API

  • 1.0.0版本
    • 发布时间:2014.02.14
    • 主要特性
      • 支持聚合分析Aggregations
      • Snapshot/Restore API 备份恢复API
      • CAT API 支持
      • 支持联合查询
      • Doc values 引入

  • 2.0.0版本
    • 发布时间:2015.10.28
    • 主要特性
      • 增加了 pipleline Aggregations
      • query/filter 查询合并,都合并到query中,根据不同的上下文执行不同的查询
      • 存储压缩可配置
      • Rivers 模块被移除
      • Multicast 组播发现被移除,成为一个插件,生产环境必须配置单播地址
      • 支持root用户启动

  • 5.0.0版本(大转折)
    • 发布时间:2016.10.26
    • 主要特性
      • Lucene 6.x 的支持,磁盘空间少一半;索引时间少一半;查询性能提升25%;支持IPV6。
      • Internal engine级别移除了用于避免同一文档并发更新的竞争锁,带来15%-20%的性能提升
      • 提供了第一个Java原生的REST客户端SDK IngestNode
      • 提供了 Painless 脚本,代替Groovy脚本
      • 新增了Profile API
      • 新增了Rollover API
      • 新增Reindex
      • 提供了第一个Java原生的REST客户端SDK,基于HTTP协议的客户端对Elasticsearch的依赖解耦,没有jar包冲突,提供了集群节点自动发现、日志处理、节点请求失败自动进行请求轮询,充分发挥Elasticsearch的高可用能力
      • 引入新的字段类型 Text/Keyword 来替换 String
      • 限制索引请求大小,避免大量并发请求压垮 ES
      • 限制单个请求的 shards 数量,默认 1000 个
      • 仅支持非root用户启动

  • 6.0.0版本
    • 发布时间:2017.08.31
    • 主要特性
      • 稀疏性 Doc Values 的支持
      • Index sorting,即索引阶段的排序
      • Removal of types,在 6.0 里面,开始不支持一个 index 里面存在多个 type
      • 已经关闭的索引将也支持 replica 的自动处理,确保数据可靠
      • Load aware shard routing, 基于负载的请求路由,目前的搜索请求是全节点轮询,那么性能最慢的节点往往会造成整体的延迟增加,新的实现方式将基于队列的耗费时间自动调节队列长度,负载高的节点的队列长度将减少,让其他节点分摊更多的压力,搜索和索引都将基于这种机制。
      • 顺序号的支持,每个 es 的操作都有一个顺序编号(类似增量设计)无缝滚动升级

  • 7.0.0版本
    • 发布时间:2019.04.10
    • 主要特性
      • 集群连接变化:TransportClient被废弃以至于es7的java代码,只能使用restclient。对于java编程,建议采用 High-level-rest-client 的方式操作ES集群
      • ES程序包默认打包jdk
      • Lucene9.0的支持
      • 正式废除单个索引下多Type的支持,es6时,官方就提到了es7会删除type,并且es6时已经规定每一个index只能有一个type。在es7中使用默认的_doc作为type,官方说在8.x版本会彻底移除type。,api请求方式也发送变化,如获得某索引的某ID的文档:GET index/_doc/id其中index和id为具体的值
      • 7.1开始,Security功能免费使用
      • ECK-ElasticSearch Operator on Kubernetes,支持k8s
      • 支持Zen2 是 Elasticsearch 的全新集群协调层,提高了可靠性、性能和用户体验,变得更快、更安全,并更易于使用
      • Weak-AND算法提高查询性能
      • 默认的Primary Shared数从5改为1,避免Over Sharding
      • 间隔查询(Intervals queries) 某些搜索用例(例如,法律和专利搜索)引入了查找单词或短语彼此相距一定距离的记录的需要。 Elasticsearch 7.0中的间隔查询引入了一种构建此类查询的全新方式,与之前的方法(跨度查询span queries)相比,使用和定义更加简单。 与跨度查询相比,间隔查询对边缘情况的适应性更强
狭路相逢勇者胜!
原文地址:https://www.cnblogs.com/amcoder/p/13920041.html