查看原文
其他

比快更快,Elasticsearch 8.0 正式发布!

macrozheng 2023-02-06

The following article is from 铭毅天下Elasticsearch Author 铭毅天下

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-14V0.7
2014-02-14V1.01372 天
2015-10-28V2.0621 天
2016-10-26V5.0364 天
2017-11-14V6.0384 天
2019-04-10V7.0512 天
2022-02-11V8.01038 天

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


微信8.0将好友放开到了一万,小伙伴可以加我大号了,先到先得,再满就真没了

扫描下方二维码即可加我微信啦,2022,抱团取暖,一起牛逼。

推荐阅读


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存