比快更快,Elasticsearch 8.0 正式发布!
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 版本更迭历史图鉴
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
公众号:铭毅天下Elasticsearch