首页 > 其他分享 >Elasticsearch各个版本重要特性

Elasticsearch各个版本重要特性

时间:2024-04-02 11:24:34浏览次数:21  
标签:支持 默认 索引 Elasticsearch 特性 版本 文档 节点

Elasticsearch各个版本重要特性
Elasticsearch 5
Elasticsearch 6.0
Elasticsearch 7.0
Elasticsearch 8.0
Elasticsearch 5
首先说明下,ES是从版本2直接跳到5的,主要是为了和Elastic Stack其他组件保持版本一致
ES5,在现在来说是比较老的版本了,就不多介绍了
建议大家使用ES7,或者直接使用ES8
Elasticsearch 6.0
移除type,在 6.0 里面,开始不支持一个 index 里面存在多个 type 了,所有的新的 index 都将只有一个虚拟的固定的 type: doc 来代替

稀疏性 Doc Values 的支持, es 的 doc values 是列式存储,文档的原始值都是存放在 doc values 里面的,优化了一个文档有的字段其他文档的持有开销

Index sorting,即在索引阶段的排序支持,索引的时候会要增加额外开销,适合不怎么变化的索引的场景。

已经关闭的索引将也支持 replica 的自动处理,确保数据可靠

Load aware shard routing, 基于负载的请求路由,目前的搜索请求是全节点轮询,那么性能最慢的节点往往会造成整体的延迟增加,新的实现方式将基于队列的耗费时间自动调节队列长度,负载高的节点的队列长度将减少,让其他节点分摊更多的压力,搜索和索引都将基于这种机制。

顺序号的支持,每个 es 的操作都有一个顺序编号(类似增量设计)无缝滚动升级

Elasticsearch 7.0
ES 数据库的存储结构变化:去除了Type,包括API层面

默认配置变化:默认节点名称为主机名,默认分片数为1,不再是5

查询相关速度优化:Weak-AND算法。又称为Wand算法, 输入是n个倒排队列,输出top K个得分最高的文档doc,weak-and算法通过计算每个词的贡献上限来估计文档的相关性上限,从而建立一个阈值对倒排中的结果进行减枝,从而得到提速的效果。

彻底废除 _all 字段的支持,为提升性能默认不在支持全文检索

集群连接变化:TransportClient被废弃,对于java编程,建议采用 High-level-rest-client 的方式

ES程序包默认打包jdk:以至于7.x版本的程序包大小突然边300MB+

间隔查询(Intervals queries),Elasticsearch 7.0中的间隔查询引入了一种构建“单词或短语彼此相距一定距离的记录查询”的需要的全新方式,与之前的方法(跨度查询span queries)相比,使用和定义更加简单。

函数分数 2.0,通过新的模块化结构,用户能够混合和匹配一组算术和距离函数,从而构建任意的函数分数计算方式,进而在更大程度上控制结果的评分和排名方式。

引入新的集群协调子系统,移除 minimum_master_nodes 参数,让 Elasticsearch 自己选择可以形成仲裁的节点。
典型的主节点选举现在只需要很短的时间就可以完成。集群的伸缩变得更安全、更容易,并且可能造成丢失数据的系统配置选项更少了。 节点更清楚地记录它们的状态,有助于诊断为什么它们不能加入集群或为什么无法选举出主节点。

不再内存溢出,新的 Circuit Breaker 在JVM 堆栈层面监测内存使用,Elasticsearch 比之前更加健壮。设置indices.breaker.fielddata.limit的默认值已从JVM堆大小的60%降低到40%。

支持达到纳秒级精度,强化时序型用例

Lucene9.0的支持

7.1开始,Security功能免费使用

Elasticsearch 8.0
lastic 8.0 版通过改进 Elasticsearch 的矢量搜索功能、对现代自然语言处理模型的原生支持、不断简化的数据上线过程,以及精简的安全防护体验,在速度、扩展幅度、相关性和简便性方面,迎来了一个全新的时代。需要 Java 17 才能运行 Elasticsearch。

Elastic 8.0 版是基于 Lucene 9.0 开发的,那些利用现代 NLP 的搜索体验,都可以借助(新增的)对近似最近邻搜索的原生支持,快速且大规模地实现。通过 ANN,可以快速并高效地将基于矢量的查询与基于矢量的文档语料库(无论是小语料库、大语料库还是巨型语料库)进行比较。

重要更新

Rest API相比较7.x而言做了比较大的改动(比如彻底删除_type),为了降低用户的升级成本,8.x会暂时的兼容7.x的请求。

默认开启安全配置(三层安全),并极大简化了开启安全需要的工作量,可以这么说:7.x开启安全需要10步复杂的步骤比如CA、证书签发、yml添加多个配置等等,8.x只需要一步即可)。

存储空间优化:更新了倒排索引,对倒排文件使用新的编码集,对于keyword、match_only_text、text类型字段有效,有3.5%的空间优化提升,对于新建索引和segment自动生效。

优化geo_point,geo_shape类型的索引(写入)效率:15%的提升。

新特性:支持上传pyTorch模型,在ingest的时候使用。比如在写入电影评论的时候,如果我们想要知道这个评论的感情正负得分,可以使用对应的AI感情模型对评论进行运算,将结果一并保存在ES中。

技术预览版KNN API发布,(K邻近算法),跟推荐系统、自然语言排名相关。之前的KNN是精确搜索,在大数据集合的情况会比较慢,新的KNN提供近似KNN搜索,以提高速度。

对ES内置索引的保护加强了:elastic用户默认只能读,如果需要写权限的时候,需有allow_restrict_access权限。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/u010882234/article/details/125529329

标签:支持,默认,索引,Elasticsearch,特性,版本,文档,节点
From: https://www.cnblogs.com/raincedar/p/18110188

相关文章

  • ElasticSearch 实战:ElasticSearch文档多条件查询
    Elasticsearch实战:Elasticsearch文档多条件查询在实际应用中,常常需要根据多个条件对文档进行筛选。Elasticsearch提供了多种查询类型和查询组合机制,支持构建复杂的多条件查询。以下是如何进行文档多条件查询的详细步骤:**1.**布尔查询(BoolQuery)布尔查询是构建多条件......
  • ios 之 netty版本swiftNio(socket创建)
    SwiftNio简介用于高性能协议服务器和客户端的事件驱动、无阻塞的网络应用程序框架。SwiftNIO是一个跨平台异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。这就像Netty,但是为Swift写的。Xcode引入swiftNio        在实际写代码前,......
  • IDEA中新建SpringBoot模块,JDK版本问题解决
    问题描述IDEA中新建SpringBoot模块,使用的JAVAJDK1.8,新建模块时选项中没有JDK8: 运行时报错,JDK之类的问题解决方案,查看修改以下四个地方:(1)设置-Java编译器 (2)项目结构--依赖以及源码 ......
  • Har 版本包发布
    新建Module注意名字最好是小写命名oh-package.json5修改description描述信息在Index.ets导出对外暴露的组件export{TitleBar}from'./src/main/ets/view/TitleBar' 编译生成har包 生成公钥和私钥新建文件夹,新建空的pub文件。命令生成公钥和私钥......
  • 下载安装 macOS 版本的 Windows 远程桌面客户端(Microsoft Remote Desktop)
    如果有非国区的账号,直接在商店中下载即可:https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12国区是搜不到的,微软提供了beta版本下载:https://install.appcenter.ms/orgs/rdmacios-k2vy/apps/microsoft-remote-desktop-for-mac/distribution_groups/al......
  • kkFileView是什么?提供最新版本免费下载(4.4.0)
    1、kkFileView是什么?文档在线预览项目解决方案,项目使用流行的springboot搭建,易上手和部署。万能的文件预览开源项目,基本支持主流文档格式预览2、项目特性1、使用springboot开发,预览服务搭建部署非常简便2、rest接口提供服务,跨平台特性(java,php,python,go,php,....)都支持,......
  • Office365和批量授权版本visio共存安装
    officeclicktorunversionandvolumeauthorizationversionvisiocoexistinstallation如果已经安装了office365版本的office,或者其他即点即用版本的office,再想安装批量授权版本的visio等软件时,安装时候会提示不能和即点即用的Office共存,会提示让卸载后再安装,但是既然已......
  • ES2020新特性
    ES2020新特性ES2020已经发布了,一共出9个新特性,下面让我们一起来了解下。String.prototype.matchAll()可一次性取出所有匹配,但是返回的是一个遍历器(Iterator),而非数组。可以用forof循环取出。相对于返回数组,返回遍历器的好处在于,如果遍历结果是一个很大的数组,那么遍历器比较节......
  • ES2021新特性
    ES2021新特性2021年6月22日,第121届Ecma国际(EcmaInternational)大会以远程会议形式召开。正式通过了ES2021标准。这次又带来了哪些有趣的特性呢?让我们一起来了解下。String.prototype.replaceAll()相比于String.prototype.replace(),如果不使用全局正则表达式,就无法......
  • ES2016新特性
    ES2016新特性本次更新改变的内容比较少,仅仅新增了includes()方法和简化幂运算的写法。Array.prototype.includesincludes()方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true,否则返回false。[1,2,3].includes(2);//true[1,2,3].includes(4);//......