比快更快,Elasticsearch 8.0 正式发布!
共 3064字,需浏览 7分钟
·
2022-02-13 00:04
1、Elastic 8.0 正式发布
2022 年 2 月 11 日,Elastic 8.0 正式发布。
Elastic 官方宣告:从此 Elastic 进入速度、规模、相关性和简单性的新时代!
这是距离 7.0
版本发布(2019年4月10日)超过 1038
天(近 3 年)后的第一个大版本;
这是 7.X 版本更新了 17 个版本(7.0——7.17)后的第一个大版本;
这是 Elastic 创始人 Shay Banon 从 CEO 回归 CTO 发布的第一个大版本;
这是基于 Lucene 9.0
的第一个版本;
.......
所以,Elastic 8.0 版本万众瞩目、非常期待!
2、宏观看 Elastic 8.0 新特性
可以简记为:
一个创新(NLP); 一个增强(向量检索); 两个简化(安全和 AWS 集成); 一个不变(为更大规模数据提供更快速度检索的初心不变)。
2.1 一个创新:新增了对自然语言处理模型 NLP 的原生支持。
如上两图红色、绿色对比,7.X 版本的 NLP 机器学习模型需要借助第三方组件,8.0 版本 Elastic 自己全搞定。
细分创新 1:无需额外组件或编码即可实现:“命名实体识别”、“情感分析”、“文本分类”等 NLP 操作。 细分创新 2:用户可以直接在 Elasticsearch 中使用 PyTorch 机器学习模型(例如 BERT),并使用这些模型(自定义模型或 Hugging Face 社区模型)进行推理。
2.2 一个增强:增强了向量搜索功能。
带来了一整套原生矢量搜索功能。 NLP 的引入使得向量搜索更加实用。 ANN 的支持使得大规模数据下高速查询成为可能。
2.3 两个简化
遵循 Elastic 的 slogan:“Simple things should be simple”简单的事情应该简单化。
2.3.1 简化1:安全配置再简化。
默认启用安全性防护。 自动生成令牌和证书。
2.3.2 简化2:集成了两个 AWS 服务。
集成了一个新的 AWS Lambda 应用程序。 集成了一个新的 Amazon Simple Storage Service (Amazon S3) Storage Lens。
2.4 一个不变
为更大规模数据提供更快速度检索的初心不变。
3、微观看 Elastic 8.0 新特性
3.1 REST API 引入了几项重大更改
没有了High-level REST API、没有了 Low-level REST API,简单好用还得 REST API。
这点,java 开发同学要着重关注 API 的兼容性问题。
兼容性推荐:
https://www.elastic.co/guide/en/elasticsearch/reference/8.0/rest-api-compatibility.html
3.2 安全简化了啥?
首次启动 Elasticsearch 时,会自动进行以下安全配置:
为传输层和 HTTP 层生成 TLS 证书和密钥。 TLS 配置设置被写入elasticsearch.yml。 为 elastic 用户生成密码。 为 Kibana 生成一个注册令牌。
原来 Elasticsearch 安全复杂配置的日子一去不复返了!
3.3 系统索引得到更好保护
要访问系统索引,您现在必须将 allow_restricted_indices
权限设置为 true。
该 superuser角色也不再授予对系统索引的写访问权限。
因此,默认情况下,内置 elastic 超级用户也无法更改系统索引。
拥有 elastic
用户就拥有集群全部为所欲为的日子一去不复返了!
3.4 新的 kNN 搜索 API
新的 kNN 搜索 API 允许我们在更大的数据集上以更快的速度运行近似 kNN 搜索。
3.5 更新了倒排索引的内部数据结构,节省了磁盘存储空间。
这种变化将使 keyword 字段类型、 match_only_text 字段类型以及在较小程度上的 text字段类型受益。
该更新使得转化为 message 字段索引大小(映射为match_only_text)减少了 14.4%
,磁盘占用空间总体减少了 3.5%
。
3.6 更快地索引geo_point,geo_shape和 range 字段
优化了多维点的索引速度,这些字段类型的索引速度提高了 10-15%
。
3.7 PyTorch 模型支持自然语言处理 (NLP)
可以上传在 Elasticsearch 之外训练的 PyTorch
模型,并在摄取时使用它们进行推理。
第三方模型支持为 Elastic Stack 带来了现代自然语言处理 (NLP)和搜索用例,例如:
填充蒙版 Fill-mask 命名实体识别 Named entity recognition (NER) 文本分类 Text classification 文本嵌入 Text embedding 零样本分类 Zero-shot classification
4、Elastic 8.0 部署体验
如上验证,Elasticsearch 8.0 默认启动 TLS 安全、Https 安全。自动生成是很方便了。
Kibana 端仍需要手动配置,Kibana 端更多安全配置推荐阅读:
https://www.elastic.co/guide/en/kibana/current/configuring-tls.html
猜测 8.X 版本会改进 Kibana 端配置,现在仍然较复杂。
5、Elastic 版本更迭历史图鉴
发布日期 | 版本号 | 时间间隔 |
---|---|---|
2010-05-14 | V0.7 | |
2014-02-14 | V1.0 | 1372 天 |
2015-10-28 | V2.0 | 621 天 |
2016-10-26 | V5.0 | 364 天 |
2017-11-14 | V6.0 | 384 天 |
2019-04-10 | V7.0 | 512 天 |
2022-02-11 | V8.0 | 1038 天 |
6、小结
Elastic 版本更迭速度一直快到超出大家的想象。没有最快、只有更快!
2010年——2022年,Elastic 团队由1人扩展为 2800人
作为 Elastic 从业者要能跟上它的速度,了解并提前使用新特性,更为重要的是待验证充分后将新特性应用到企业环境,以提升开发、运维效率是为王道。
不建议线上环节立即升级 8.0 版本,建议先把 8.0 环境搭建起来,测试数据导入进来,反复测试验证且确保没有问题后,再迁移线上环境。
今天凌晨的直播中 Elastic 创始人又提到了“index everything”,所以拥抱 Elastic,仍然大有可为!
用当下最流行的话:你永远可以相信快速变化的 Elastic!
图片来自:2022 年 Elastic 全球社区大会
参考
https://www.elastic.co/guide/en/elasticsearch/reference/current/release-highlights.htm
https://www.elastic.co/cn/blog/whats-new-elastic-8-0-0