比快更快,Elasticsearch 8.0 正式發(fā)布!
1、Elastic 8.0 正式發(fā)布
2022 年 2 月 11 日,Elastic 8.0 正式發(fā)布。
Elastic 官方宣告:從此 Elastic 進入速度、規(guī)模、相關(guān)性和簡單性的新時代!

這是距離 7.0 版本發(fā)布(2019年4月10日)超過 1038 天(近 3 年)后的第一個大版本;
這是 7.X 版本更新了 17 個版本(7.0——7.17)后的第一個大版本;
這是 Elastic 創(chuàng)始人 Shay Banon 從 CEO 回歸 CTO 發(fā)布的第一個大版本;
這是基于 Lucene 9.0 的第一個版本;
.......
所以,Elastic 8.0 版本萬眾矚目、非常期待!
2、宏觀看 Elastic 8.0 新特性
可以簡記為:
一個創(chuàng)新(NLP); 一個增強(向量檢索); 兩個簡化(安全和 AWS 集成); 一個不變(為更大規(guī)模數(shù)據(jù)提供更快速度檢索的初心不變)。
2.1 一個創(chuàng)新:新增了對自然語言處理模型 NLP 的原生支持。

如上兩圖紅色、綠色對比,7.X 版本的 NLP 機器學習模型需要借助第三方組件,8.0 版本 Elastic 自己全搞定。
細分創(chuàng)新 1:無需額外組件或編碼即可實現(xiàn):“命名實體識別”、“情感分析”、“文本分類”等 NLP 操作。 細分創(chuàng)新 2:用戶可以直接在 Elasticsearch 中使用 PyTorch 機器學習模型(例如 BERT),并使用這些模型(自定義模型或 Hugging Face 社區(qū)模型)進行推理。 

2.2 一個增強:增強了向量搜索功能。
帶來了一整套原生矢量搜索功能。 NLP 的引入使得向量搜索更加實用。 ANN 的支持使得大規(guī)模數(shù)據(jù)下高速查詢成為可能。
2.3 兩個簡化
遵循 Elastic 的 slogan:“Simple things should be simple”簡單的事情應(yīng)該簡單化。
2.3.1 簡化1:安全配置再簡化。
默認啟用安全性防護。 自動生成令牌和證書。
2.3.2 簡化2:集成了兩個 AWS 服務(wù)。
集成了一個新的 AWS Lambda 應(yīng)用程序。 集成了一個新的 Amazon Simple Storage Service (Amazon S3) Storage Lens。
2.4 一個不變
為更大規(guī)模數(shù)據(jù)提供更快速度檢索的初心不變。
3、微觀看 Elastic 8.0 新特性
3.1 REST API 引入了幾項重大更改
沒有了High-level REST API、沒有了 Low-level REST API,簡單好用還得 REST API。
這點,java 開發(fā)同學要著重關(guān)注 API 的兼容性問題。
兼容性推薦:
https://www.elastic.co/guide/en/elasticsearch/reference/8.0/rest-api-compatibility.html
3.2 安全簡化了啥?
首次啟動 Elasticsearch 時,會自動進行以下安全配置:
為傳輸層和 HTTP 層生成 TLS 證書和密鑰。 TLS 配置設(shè)置被寫入elasticsearch.yml。 為 elastic 用戶生成密碼。 為 Kibana 生成一個注冊令牌。
原來 Elasticsearch 安全復(fù)雜配置的日子一去不復(fù)返了!
3.3 系統(tǒng)索引得到更好保護
要訪問系統(tǒng)索引,您現(xiàn)在必須將?allow_restricted_indices 權(quán)限設(shè)置為 true。
該 superuser角色也不再授予對系統(tǒng)索引的寫訪問權(quán)限。
因此,默認情況下,內(nèi)置 elastic 超級用戶也無法更改系統(tǒng)索引。
擁有 elastic 用戶就擁有集群全部為所欲為的日子一去不復(fù)返了!
3.4 新的 kNN 搜索 API
新的 kNN 搜索 API 允許我們在更大的數(shù)據(jù)集上以更快的速度運行近似 kNN 搜索。
3.5 更新了倒排索引的內(nèi)部數(shù)據(jù)結(jié)構(gòu),節(jié)省了磁盤存儲空間。
這種變化將使 keyword 字段類型、 match_only_text 字段類型以及在較小程度上的 text字段類型受益。
該更新使得轉(zhuǎn)化為 message 字段索引大小(映射為match_only_text)減少了 14.4%,磁盤占用空間總體減少了 3.5%。
3.6 更快地索引geo_point,geo_shape和 range 字段
優(yōu)化了多維點的索引速度,這些字段類型的索引速度提高了 10-15%。
3.7 PyTorch 模型支持自然語言處理 (NLP)
可以上傳在 Elasticsearch 之外訓練的 PyTorch 模型,并在攝取時使用它們進行推理。
第三方模型支持為 Elastic Stack 帶來了現(xiàn)代自然語言處理 (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 端配置,現(xiàn)在仍然較復(fù)雜。
5、Elastic 版本更迭歷史圖鑒

| 發(fā)布日期 | 版本號 | 時間間隔 |
|---|---|---|
| 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、小結(jié)
Elastic 版本更迭速度一直快到超出大家的想象。沒有最快、只有更快!


2010年——2022年,Elastic 團隊由1人擴展為 2800人
作為 Elastic 從業(yè)者要能跟上它的速度,了解并提前使用新特性,更為重要的是待驗證充分后將新特性應(yīng)用到企業(yè)環(huán)境,以提升開發(fā)、運維效率是為王道。
不建議線上環(huán)節(jié)立即升級 8.0 版本,建議先把 8.0 環(huán)境搭建起來,測試數(shù)據(jù)導(dǎo)入進來,反復(fù)測試驗證且確保沒有問題后,再遷移線上環(huán)境。
今天凌晨的直播中 Elastic 創(chuàng)始人又提到了“index everything”,所以擁抱 Elastic,仍然大有可為!
用當下最流行的話:你永遠可以相信快速變化的 Elastic!

圖片來自:2022 年 Elastic 全球社區(qū)大會
參考
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 7.0 正式發(fā)布,盤他!
