历时48个月,Elastic终于迎来了 8.0 的大版本更新,可谓是千呼万唤始出来了!
在正式版发布之前,经历了两个内测版,一个公测版,两个RC版本
版本号 | 发布日期 | 多少个次要版本迭代 | 历时 |
8.0 | 2022年2月11日 | ? | 至今 |
7.0 | 2019年4月11日 | 17个次要版本 | 48个月 |
6.0 | 2017年11月15日 | 8个次要版本 | 17个月 |
5.0 | 2016年10月27日 | 6个次要版本 | 13个月 |
4.x | 缺失 | ||
3.x | 缺失 | ||
2.4 | 2017年7月26日 |
1、原生支持 NLP(自然语言处理)
Elastic 8.0 版通过改进 Elasticsearch 的矢量搜索功能、对现代自然语言处理模型的原生支持。Elasticsearch 一直非常重视 NLP 的发展及应用,在之前的版本,ES 需要截止自身之外的一些脚本、插件和代码来完成支持 NLP,但是在 ES 8.0 的版本中,ES 可以直接在 Elasticsearch 中执行命名实体识别、情感分析、文本分类等,而无需使用额外的组件或进行编码。并且可以在 Elasticsearch 中原生计算和创建矢量。这一变化为 搜索引擎的开发工作者带来了很大的便利
2、速度、扩展和检索相关性提升
在过去的三年间,ES一直致力于:减少内存使用(从而让每个节点托管更多的数据),降低查询开销(在大规模部署中成效尤为明显),引入一些全新的功能来提高相关性。
例如,在 7.x 系列版本中,官方提高了日期直方图和搜索聚合的速度,增强了页面缓存的性能,并创建了一个新的“pre-filter”搜索短语。此外,官方还通过减少内存堆完全支持 ARM 架构,引入全新的方式以使用更少的存储空间,以及让用户能够借助新的 Frozen Phase 和 Searchable Snapshot 轻松将计算与存储分离开来,从而降低了资源需求(即:降低了客户的总体拥有成本)。
3、通过原生矢量搜索提高搜索相关性
Elastic 8.0 版引入了一整套原生矢量搜索功能,让客户和员工能够使用他们自己的文字和语言来搜索并收到高度相关的结果。
在过去的两年间,官方一直致力于ES矢量搜索的优化。在 Elasticsearch 7.0版中,就针对高维矢量引入了字段类型。在 ES 7.3和 7.4 版本中,又引入了对矢量相似函数的支持。
在 Elasticsearch 8.0 版中,自然语言处理 (NLP) 模型原生支持直接引入了 Elasticsearch,让矢量搜索功能更容易实现。此外,Elasticsearch 8.0 版还包含了对近似最近邻搜索的原生支持,因此可以快速且大规模地比较基于矢量的查询与基于矢量的文档语料库。
4、默认开启安全功能
从 ES 7.x 开始,官方提供免费的安全功能,不过仅限于索引级别的安全设置,而字段和文档级别的需要付费。
从 8.0 开始,ES 简化了安全功能。自管理集群默认启用 Elastic Stack 安全性,配置工作几乎为零(其实8.x 的安全配置更麻烦了,知识默认启用了安全功能而已)。
8.x 默认启用了以下功能:
- 用户认证
- 具有基于角色的访问控制的用户授权
- Kibana Spaces 多租户
- 使用 TLS 的加密节点到节点通信
- 使用 HTTPS 与 Elasticsearch API 进行加密通信
第一次运行 Elasticsearch 时,Elasticsearch 将自动执行以下任务:
- TLS 设置:它将生成证书颁发机构、传输和 HTTP 层证书,以及 TLS 舞蹈所需的所有相关“好东西”——当然包括私钥、证书指纹等。它还将存储密码安全。
- 设置安全设置:这还包括用于传输和 HTTP 加密的设置:xpack.security.ssl.http.enabled 和 xpack.security。ssl.transport.enabled
- 准备传入连接:它将生成一种特殊类型的令牌,即注册令牌,它封装了 Kibana 连接到 Elasticsearch 所需的所有信息,并启用其注册 API,该 API 会监听新连接。
- 为ES 内置超级用户生成密码。
在之前的多个版本中,官方简化了将各类数据从任何来源采集到 Elastic Stack 的过程。在 Elastic 8.0 版中,通过两个新的 AWS 集成进一步扩展了云原生集成:一个新的 AWS Lambda 应用程序和一个新的 Amazon Simple Storage Service (Amazon S3) Storage Lens 集成。