文章目录

  • es系列导航
  • 一、前言
  • 二、版本号
    • 初始版本0.7
    • 升级1.0.0 版本
    • 2.0.0 版本
    • 新特性5.0.0 版本
    • 新特性6.0.0 版本
    • 新特性7.0.0 版本

es系列导航

Elasticsearch第一篇:基本介绍
Elasticsearch第二篇:es版本比较
Elasticsearch第三篇:es的三种分页方式与优劣势比较
Elasticsearch第四篇:java实现Scroll分页,内含代码复制即用

一、前言

在学习Elasticsearch 时候,因为各个版本的问题,搞不清,非常的头疼,官方也给出了各个版本更新的情况,不过是英文版本,版本更新信息又特别多,最近学习,看了很多资料,没有一个整理很清楚的,然后自己就统一整理下,首先声明下面的整理都是各个版本个人认为比较重要点,因为每个大版本更新内容太多,也不能一一举例,详细需要参阅官方文档,文章底部有链接,我也是为了自己方便在整体上,了解Elasticsearch 各个版本的迭代,可以更好的理解和使用Elasticsearch 产品,所以有了这篇文章。

二、版本号

初始版本0.7

2010年5月14日发布,第一个可以查询到发版信息的版本,重要特性:

  • Zen Discovery 自动发现模块
  • Groovy Client支持
  • 简单的插件管理机制
  • 更好支持ICU分词器
  • 更多的管理API
  • 初始化的版本,暂时不多介绍,先来这么多。

升级1.0.0 版本

2014年2月14日发布,重要特性: -Snapshot/Restore API 备份恢复API

  • 支持聚合分析Aggregations
  • CAT API 支持
  • 支持联盟查询
  • 断路器支持
  • Doc values 引入

2.0.0 版本

2015年10月28日发布,重要特性:

  • 增加了 pipleline Aggregations
  • query/filter 查询合并,都合并到query中,根据不同的上下文执行不同的查询
  • 存储压缩可配置
  • Rivers 模块被移除
  • Multicast 组播发现被移除,成为一个插件,生产环境必须配置单播地址

新特性5.0.0 版本

2016年10月26日发布,重要特性:

  • Lucene 6.x 的支持,磁盘空间少一半;索引时间少一半;查询性能提升25%;支持IPV6。
  • Internal engine级别移除了用于避免同一文档并发更新的竞争锁,带来15%-20%的性能提升
  • Shrink API ,它可将分片数进行收缩成它的因数,如之前你是15个分片,你可以收缩成5个或者3个又或者1个,那么我们就可以想象成这样一种场景,在写入压力非常大的收集阶段,设置足够多的索引,充分利用shard的并行写能力,索引写完之后收缩成更少的shard,提高查询性能
  • 提供了第一个Java原生的REST客户端SDK
    IngestNode,之前如果需要对数据进行加工,都是在索引之前进行处理,比如logstash可以对日志进行结- 构化和转换,现在直接在es就可以处理了
  • 提供了 Painless 脚本,代替Groovy脚本
  • 移除 site plugins ,就是说 head 、 bigdesk 都不能直接装 es 里面了,不过可以部署独立站点(反正都是静态文件)或开发 kibana 插件
  • 新增 Sliced Scroll类型,现在Scroll接口可以并发来进行数据遍历了。每个Scroll请求,可以分成多个Slice请求,可以理解为切片,各Slice独立并行,利用Scroll重建或者遍历要快很多倍。
  • 新增了Profile API
  • 新增了Rollover API
  • 新增Reindex
  • 提供了第一个Java原生的REST客户端SDK 基于HTTP协议的客户端对Elasticsearch的依赖解耦,没有jar包冲突,提供了集群节点自动发现、日志处理、节点请求失败自动进行请求轮询,充分发挥Elasticsearch的高可用能力
  • 引入新的字段类型 Text/Keyword 来替换 String
  • 限制索引请求大小,避免大量并发请求压垮 ES
  • 限制单个请求的 shards 数量,默认 1000 个

新特性6.0.0 版本

2017年8月31日发布,重要特性:

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

新特性7.0.0 版本

2019年4月10日发布,重要特性:

  • 集群连接变化:TransportClient被废弃 以至于,es7的java代码,只能使用restclient。然后,个人综合了一下,对于java编程,建议采用 High-level-rest-client 的方式操作ES集群

  • ES程序包默认打包jdk: 以至于7.x版本的程序包大小突然边300MB+ 对比6.x发现,包大了200MB+, 正是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

  • 引入了真正的内存断路器,它可以更精准地检测出无法处理的请求,并防止它们使单个节点不稳定

  • Zen2 是 Elasticsearch 的全新集群协调层,提高了可靠性、性能和用户体验,变得更快、更安全,并更易于使用
    新功能
    1.List item
    2.New Cluster coordination
    3.Feature - Complete High Level REST Client
    4.Script Score Query

  • 性能优化
    1.Weak-AND算法提高查询性能
    2.默认的Primary Shared数从5改为1,避免Over Sharding
    3.更快的前 k 个查询
    4.间隔查询(Intervals queries) 某些搜索用例(例如,法律和专利搜索)引入了查找单词或短语彼此相距一定距离的记录的需要。 Elasticsearch 7.0中的间隔查询引入了一种构建此类查询的全新方式,与之前的方法(跨度查询span queries)相比,使用和定义更加简单。 与跨度查询相比,间隔查询对边缘情况的适应性更强。

作者:会飞的笨石头
出处:http://www.cnblogs.com/flyrock/

Elasticsearch第二篇:es之间版本比较相关推荐

  1. elasticsearch 第二篇(配置篇)

    配置 在es启动之前可以通过设置启动命令行启动参数.环境变量.文件等方式优化和配置es进行参数 环境变量 名称 示例 说明 ES_MIN_MEM 256M 用于配置java进程分配的最小内存 ES_M ...

  2. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  3. 龙叔学ES:elasticsearch扫盲篇

    看完本文 你基本就对elasticsearch有了基本较为全面的了解 (注意哦  本文讲解的都是 ES 7版本之后 的内容) 目录 1.什么是elasticsearch? 2.ES概念.架构.原理 2 ...

  4. Elasticsearch学习第二篇--常用的几种搜索方式

    Elasticsearch学习第二篇--常用的几种搜索方式 一.Query String Search 查询全部 条件查询 二.Query DSL 查询全部 条件查询 三.Query Filter 四 ...

  5. 第二篇|腾讯开源项目盘点:ncnn、xLua、libco等

    开源展示了人类共同协作,成果分享的魅力,每一次技术发展都是站在巨人的肩膀上,技术诸多创新和发展往往就是基于开源发展起来的,没有任何一家网络公司可以不使用开源技术,仅靠自身技术而发展起来. 腾讯开源了个 ...

  6. ElasticSearch第二天

    ElasticSearch第二天 学习目标: 能够使用java客户端完成创建.删除索引的操作 能够使用java客户端完成文档的增删改的操作 能够使用java客户端完成文档的查询操作 能够完成文档的分页 ...

  7. Elasticsearch实战篇——Spring Boot整合ElasticSearch

    2019独角兽企业重金招聘Python工程师标准>>> 当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来 ...

  8. [翻译]Go与C#的比较,第二篇:垃圾回收

    Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan - Titan Tech | Medium 目录 译者注 什 ...

  9. FPGA通信第二篇--UDP

    FPGA通信第二篇–UDP 本文通过对以太网通信中的UDP传输协议的理论学习,针对UDP实际应用中的丢包问题,提出一种人为的重发机制完成UDP稳定可靠的传输,并通过实验进行了验证. 1 以太网简介 以 ...

  10. U3D_Shader编程(第二篇:基础夯实篇)

    <U3D_Shader编程> ##<U3D_Shader编程>发布说明: ++++Shader一个高大上的领域,不管怎么样,我来了. ++++立钻哥哥从2018年开始正式对Sh ...

最新文章

  1. React.js 小书 Lesson12 - state vs props
  2. 【BZOJ-2427】软件安装 Tarjan + 树形01背包
  3. css 盒子有内容 盒子往下掉_css盒子模型与文本溢出学习笔记
  4. python批量做线性规划(每次的约束条件参数有变换)
  5. cors跨域_Nginx通过CORS配置实现跨域访问
  6. [Usaco2010 Nov]Visiting Cows
  7. java log4j 异步_Log4j2异步日志之异步格式化
  8. 网络地址转换协议NAT详解
  9. mysql更新语句使用order by
  10. Flink状态专题:keyed state和Operator state
  11. linux自带python3.5_linux上安装python3, 保留python2
  12. ppt演讲计时器_靠这招,我成了领导眼中的PPT演讲高手!
  13. 计算机端口里没有usb,电脑联接USB打印机 没有USB虚拟端口
  14. JS计算日期相减天数
  15. 第三方银联支付接口对接_第三方支付接口集成安装,网站支付接口对接,网站收款接口...
  16. 手机企业微信下载文件存储地址
  17. 骨架屏Skeleton Screen
  18. 最短路算法——Floyd-Warshall(题目练习解析)
  19. 掌握赚钱最快的方法 其实赚钱很有意思 你可以什么都不会
  20. Android -- RecyclerView实现顶部吸附效果

热门文章

  1. bluecms 手把手教你0day挖掘-基础入门篇
  2. ubuntu使用双模机械师K7机械键盘遇到的问题
  3. Flutter集成与打包iOS应用
  4. 模拟登录人人网,豆瓣
  5. 图片转Excel表格
  6. 联想研究院裁员---血淋漓的教训:公司不是家(老文)
  7. jupyter中超好用的10个快捷键
  8. sql左连接查询,去重复数据
  9. Matlab中median函数的使用
  10. Linux 磁盘清理