Fork me on GitHub

Elasticsearch 8.0正式版发布介绍

目录

  • 背景
  • 第一部分 Spark内存管理详解
  • 第二部分 Spark参数说明
  • 第三部分 Spark内存优化
  • 第四部分 常见线上问题解决
  • 参考文献及资料

背景

2022年2月11日Elasticsearch官方正式发布了Elasticsearch 8.0.0版本。官网博客也对新版本进行了功能介绍。本文作为中文材料进行总结分享供大家参考。

第一部分 新版本特性总结

官网的介绍博客标题为:《Elastic 8.0: A new era of speed, scale, relevance, and simplicity》。简单翻译就是新版速度、规模、相关性和简洁性都进入了一个新的时代。

主要更新特性有:

  • 增强了向量搜索功能(Improve search relevance with native vector search);
  • Open up a new world of analysis with the power of NLP
  • Search with speed, search at scale
  • Simple things should be simple

第二部分 新特性介绍

2.1 增强了向量搜索功能

了解Elasticsearch历史的同学应该知道Elasticsearch开始是用来检索菜谱的!Elasticsearch 的设计宗旨始终是提供快速且强大的全文本搜索能力。本质上Elasticsearch检索是基于文本相似度实现(实际上是Lucene实现的),将文本表示为数字向量的一种常见方式是为词汇表中的每个词语分配一个维度。然后便会基于词汇表中每个字词的出现次数得出这段文本的向量。这种表示文本的方法通常称为“词袋”,因为只是简单地数一数词语的出现次数,而不会考虑句子语义。

Elastic 8.0 带来了一整套原生矢量搜索功能,使客户和员工能够使用自己的文字和语言搜索和接收高度相关的结果。

在过去的两年里,我们一直在努力使 Elasticsearch 成为进行矢量搜索的好地方。回到过去,随着Elasticsearch 7.0的发布,我们为高维向量引入了字段类型。在Elasticsearch 7.3Elasticsearch 7.4中,我们引入了对向量相似度函数的支持。这些早期版本展示了将矢量搜索技术引入 Elasticsearch 生态系统的前景。我们很高兴看到我们的客户和社区急切地将它们用于各种用例。

今天,借助 Elasticsearch 8.0,我们将自然语言处理 (NLP) 模型的原生支持直接引入 Elasticsearch,从而使向量搜索的实施更加实用。此外,Elasticsearch 8.0 包括对近似最近邻(ANN) 搜索的原生支持——这使得基于向量的查询与基于向量的文档语料库的速度和规模进行比较成为可能。

2、宏观看 Elastic 8.0 新特性

可以简记为:

  • 一个创新(NLP);
  • 一个增强(向量检索);
  • 两个简化(安全和 AWS 集成);
  • 一个不变(为更大规模数据提供更快速度检索的初心不变)。

2.1 一个创新:新增了对自然语言处理模型 NLP 的原生支持。

img

如上两图红色、绿色对比,7.X 版本的 NLP 机器学习模型需要借助第三方组件,8.0 版本 Elastic 自己全搞定。

  • 细分创新 1:无需额外组件或编码即可实现:“命名实体识别”、“情感分析”、“文本分类”等 NLP 操作。

  • 细分创新 2:用户可以直接在 Elasticsearch 中使用 PyTorch 机器学习模型(例如 BERT),并使用这些模型(自定义模型或 Hugging Face 社区模型)进行推理。

img

img

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 部署体验

img

img

如上验证,Elasticsearch 8.0 默认启动 TLS 安全、Https 安全。自动生成是很方便了。

Kibana 端仍需要手动配置,Kibana 端更多安全配置推荐阅读:

https://www.elastic.co/guide/en/kibana/current/configuring-tls.html

猜测 8.X 版本会改进 Kibana 端配置,现在仍然较复杂。

5、Elastic 版本更迭历史图鉴

img

发布日期 版本号 时间间隔
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 版本更迭速度一直快到超出大家的想象。没有最快、只有更快!

img

img

2010年——2022年,Elastic 团队由1人扩展为 2800人

  • 作为 Elastic 从业者要能跟上它的速度,了解并提前使用新特性,更为重要的是待验证充分后将新特性应用到企业环境,以提升开发、运维效率是为王道。

  • 不建议线上环节立即升级 8.0 版本,建议先把 8.0 环境搭建起来,测试数据导入进来,反复测试验证且确保没有问题后,再迁移线上环境。

  • 今天凌晨的直播中 Elastic 创始人又提到了“index everything”,所以拥抱 Elastic,仍然大有可为!

  • 用当下最流行的话:你永远可以相信快速变化的 Elastic!

    img

    图片来自: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

参考文献及资料

1、数据治理对运维数据体系的思考与启发,链接:http://blog.itpub.net/69994525/viewspace-2762789/

本文标题:Elasticsearch 8.0正式版发布介绍

文章作者:rong xiang

发布时间:2022年01月20日 - 13:01

最后更新:2022年10月25日 - 23:10

原始链接:https://zjrongxiang.github.io/posts/68a8fef7/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%