.pcb{margin-right:0}


问题导读

1.Elasticsearch&Kibana 7.哪些需要修改?

2.Elasticsearch7 有哪些新特性?

3.Elasticsearch 7升级有哪些注意事项?





Elastic{ON}北京分享了Elasticsearch7.0在Speed,Scale,Relevance等方面的很多新特性。





1、Elasticsearch&Kibana 7.部署体验

1.1 Elasticsearch 7.0 默认自带 JDK



不用再为安装什么版本的 JDK和环境冲突而苦恼了,下载安装即可使用。



对比可知,包大了200MB+,正是JDK的大小。

1.png (44.08 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:46 上传

1.2 默认节点名称为主机名。

1.png (69.38 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:47 上传

不过仍然可以在elasticsearch.yml中显式配置。



实际业务场景中,以主机名区分不同节点比随机起名字更便于甄别,不易混淆。





1.3 默认分片数改为1,不再是5。

微信图片_20190414094627.png (17.25 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:47 上传

1.4 Elasticsearch 7.0 没有 Type 了,包括 API 层面的。



如下所示,确切的说,正确的使用方法,使用默认的_doc作为type就可以了。

type会在8.X版本彻底移除。

微信图片_20190414094743.jpg (44.27 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:49 上传

1.5 hits.total返回对象,而非仅结果值



现在,与搜索请求匹配的总命中数将作为具有值和关系的对象返回。

value表示匹配的匹配数,



关系表示值是准确的(eq)还是非准确的(gte)。

微信图片_20190414094816.png (15.11 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:49 上传

1.6 Kibana 支持全局开启“黑暗”模式



用户可以选择打开主题:Kibana->高级设置->dark Mode,而不是必须在很多地方打开黑暗模式,它将适用于所有应用程序。

微信图片_20190414094849.png (22.24 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:50 上传

微信图片_20190414094908.jpg (54.32 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:50 上传

2、Elasticsearch7 革命性更新

2.1 查询相关性速度优化



Weak-AND算法在Term Query查询场景有3700%的性能提升。



如下所示,除了Term检索,Fuzzy,Phrase, Bool And .Bool OR都有大幅的性能提升!

微信图片_20190414094947.jpg (51.16 KB, 下载次数: 0)

下载附件

保存到相册

2019-4-14 09:51 上传

啥是weak-and算法?

核心原理:取TOP N结果集,估算命中记录数。

简单来说,一般我们在计算文本相关性的时候,会通过倒排索引的方式进行查询,通过倒排索引已经要比全量遍历节约大量时间,但是有时候仍然很慢。



原因是很多时候我们其实只是想要top n个结果,一些结果明显较差的也进行了复杂的相关性计算,



而weak-and算法通过计算每个词的贡献上限来估计文档的相关性上限,从而建立一个阈值对倒排中的结果进行减枝,从而得到提速的效果。

2.2 间隔查询(Intervals queries)



某些搜索用例(例如,法律和专利搜索)引入了查找单词或短语彼此相距一定距离的记录的需要。



Elasticsearch 7.0中的间隔查询引入了一种构建此类查询的全新方式,与之前的方法(跨度查询span queries)相比,使用和定义更加简单。



与跨度查询相比,间隔查询对边缘情况的适应性更强。



2.3 引入新的集群协调子系统

移除 minimum_master_nodes 参数,让 Elasticsearch 自己选择可以形成仲裁的节点。



典型的主节点选举现在只需要很短的时间就可以完成。

集群的伸缩变得更安全、更容易,并且可能造成丢失数据的系统配置选项更少了。



节点更清楚地记录它们的状态,有助于诊断为什么它们不能加入集群或为什么无法选举出主节点。

2.4 升级 Elasticsearch 7,0 ,不再内存溢出



新的 Circuit Breaker 在JVM 堆栈层面监测内存使用,Elasticsearch 比之前更加健壮。



设置indices.breaker.fielddata.limit的默认值已从JVM堆大小的60%降低到40%。



2.5 时间戳纳秒级支持,提升数据精度



利用纳秒精度支持加强时间序列用例



到目前为止,Elasticsearch仅以毫秒精度存储时间戳。 7.0增加了几个零并带来了纳秒精度,这提高了高频数据采集用户存储和排序所需数据的精度。



显然,7.0的特性远不止这些,更多新版本特性推荐阅读:



http://t.cn/EXyStrW



http://t.cn/EXyStrO





3、Elasticsearch 7升级注意事项



3.0 升级前必知必会



查看新版本的重大更改特性,并对7.0.0的代码和配置进行必要的更改。



如果您使用自定义插件,请确保兼容版本可用。



在升级生产集群之前,在开发环境中测试升级。



备份您的数据! 您必须拥有数据快照才能回滚到早期版本。





3.1 升级API



Rolling upgrade ——滚动升级允许Elasticsearch集群一次升级一个节点,升级不会中断服务。



不支持在升级期间在同一群集中运行多个版本的Elasticsearch,因为无法将已升级的节点复制到运行旧版本的节点。



3.2 版本升级路线



小版本之间升级:举例:5.4.1升级到5.6



平滑升级——从5.6版本到6.7版本



平滑升级——从6.7版本到7.0.0版本



3.3 借助Reindex升级索引数据



Elasticsearch可以读取在先前主要版本中创建的索引。如果您在5.x或之前创建了索引,则必须在升级到7.0.0之前重新索引或删除它们。



如果存在不兼容的索引,Elasticsearch节点将无法启动。



3.4 ELK Stack要一起升级



升级到新版本的Elasticsearch时,需要升级Elastic Stack中的每个产品。



3.5 6.6或更早版本集群,需要先关闭



要从6.6或更早版本直接升级到7.0.0,必须关闭群集,安装7.0.0并重新启动。



3.6 切记,7.0+版本`无type`的索引结构。



这点,如果考虑未来更新版本,在6.X或者更早版本的项目中,就严格按照7.x规范走,这样升级会相对比较省事。





4. 新版本的变



4.1实际上,高版本较低版本,主要在性能上的提升和部分新功能点的实现。



新版本更高效。

比如:6.6+提出的ilm索引生命周期管理,你如果关注Elastic Meetup的话,印象ebay和阿里还有其他公司自己就实现过类似功能。



原有版本有类似的功能,只不过是非常、非常麻烦、繁琐,所以,才有了ilm的诞生。



新版本迎合了市场的需求。

比如:7.0的黑暗模式,实际在grafana或类似竞品BI中都有类似的功能,猜测Kibana升级一方面是用户需求,另一方面也是竞品分析的结果。



新版本性能极大提升。

比如:7.0的terms融合新算法,有37倍的提升。



4.2 新版本的不变



《暗时间》作者刘未鹏说过“底层的技术永远不过时”。



不必说倒排索引机制不会变,也不必说Lucene的改动也相对较小。单是:ES的基础功能全文检索、多种聚合等几乎不会有太大的变动。







原文链接





转载地址:http://www.aboutyun.com/thread-27003-1-1.html
作者: 铭毅天下

Elasticsearch 7.0 发布都有哪些新特性的更多相关文章

  1. ArcGIS API for JavaScript 4.2学习笔记[0] AJS4.2概述、新特性、未来产品线计划与AJS笔记目录

    放着好好的成熟的AJS 3.19不学,为什么要去碰乳臭未干的AJS 4.2? 4.2全线基础学习请点击[直达] 4.3及更高版本的补充学习请关注我的博客. ArcGIS API for JavaScr ...

  2. atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性

    atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性   1.1. Servlet和JSP规范版本对应关系:1 1.2. Servlet2 ...

  3. Atitit opencv3.0  3.1 3.2 新特性attilax总结

    Atitit opencv3.0  3.1 3.2 新特性attilax总结 1. 3.0OpenCV 3 的改动在哪?1 1.1. 模块构成该看哪些模块?2 2. 3.1新特性 2015-12-21 ...

  4. 【译】.NET 5. 0 中 Windows Form 的新特性

    自从 Windows Form 在 2018 年底开源并移植到 .NET Core 以来,团队和我们的外部贡献者都在忙于修复旧的漏洞和添加新功能.在这篇文章中,我们将讨论 .NET 5.0 中 Win ...

  5. C# 8.0的三个令人兴奋的新特性

    C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新.同时,C# 每个版本的发布都与同时期的 Visual Studio 以及 .NET 运行时版本高 ...

  6. 从java1到java9每个版本都有什么新特性?

    每次出新版本,大家大概都会这么问,"Java X会有什么特性呢?" .在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪 ...

  7. [转]JDK1.0到12各版本新特性

    原文链接 JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢.JDK Version 1.1 1 ...

  8. Django2.1发布,Django2.1新特性

    Django 2.1 现已正式发布,官方表示随着 2.1 的发布,对 2.0 系列的主流支持服务将结束,进入安全修复服务周期,直至2019年4月. 2.1新特性:https://docs.django ...

  9. jQuery 3.0最终版发布,十大新特性眼前一亮

    jQuery 3.0在日前发布了最终的全新版本.从2014年10月,jQuery团队对这个主要大版本进行维护开始,web开发者社区便一直在期待着这一刻的到来,终于在2016年6月他们迎来了这一个最终板 ...

随机推荐

  1. C++中sort()及qsort() (不完整介绍)

    在平时刷算法题和oj的时候,排序算法是最经常用到的算法之一:且在各类算法书的目录中 也通常是将各种排序算法放在最前面来讲,可见排序算法的重要性.可能许多人都在算法书中有学过冒泡.快速排序的方法,也都大 ...

  2. linux下安装rar解压包

    直接解压时出现的问题如下 原因:使用rar命令需要安装WinRAR 1.在本机下载好解压,然后将解压包拖到linux上 2.进行安装,在rar目录想直接make

  3. [Java][Android][Process] Process 创建+控制+分析 经验浅谈

    不管是Android亦或者Java中或多或少须要调用底层的一些命令.运行一些參数: 此时我们须要用到Java的Process来创建一个子进程.之所以是子进程是由于此进程依赖于发起创建请求的进程,假设发 ...

  4. RDLC报表钻取空白页问题

    在改动报表查询条件时,钻取页突然空白了,百思不得其解,之前好好的,研究了一个下午和一个晚上.查资料等等,网上非常多资料都是设置报表的 ConsumeConteinerWhitespace = True ...

  5. 每天五个java相关面试题(8)--spring篇

    首先呢,假设有从事前端开发的大神或者准备从事前端开发的小伙伴无意看到我这篇博客看到这段文字欢迎加我的QQ:[ 845415745 ].即将走入社会的菜鸟大学生有关于前端开发的职业问题想请教或者一起探讨 ...

  6. ETL (数据仓库技术)

    ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词较常用在数 ...

  7. redis实现计数--------Redis increment

    经理提出新的需求,需要知道每天微信推送了多少条模板消息,成功多少条,失败多少条,想到用Redis缓存,网上查了一些资料,Redis中有方法increment,测试代码如下 Controller imp ...

  8. python 飞机大战 实例

    飞机大战 #coding=utf-8 import pygame from pygame.locals import * import time import random class Base(ob ...

  9. arg max f(x) 含义

    y = f(x) 是一般常见的函数式,如果给定一个x值,f(x)函数式会赋一个值給y. y = max f(x) 代表:y 是f(x)函式所有的值中最大的output. y = arg max f(x ...

  10. jQueryDOM操作模块

    DOM操作模块 1.复习选择器模块(选择器模块结束) 目的:学而时习之 复习和总结选择器模块 2.DOM的基本操作方法 目标:回顾DOM操作的基本方法 3.1 DOM操作 -创建节点 练习 1:创建1 ...