2022 年 2 月 11 日,Elastic 8.0 正式發(fā)布。
Elastic 8.0 版通過改進(jìn) Elasticsearch 的矢量搜索功能、對現(xiàn)代自然語言處理模型的原生支持、不斷簡化的數(shù)據(jù)上線過程,以及精簡的安全防護(hù)體驗,在速度、擴(kuò)展幅度、相關(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 版本萬眾矚目、非常期待!
可以簡記為:
l 一個創(chuàng)新(NLP);
l 一個增強(qiáng)(向量檢索);
l 兩個簡化(安全和 AWS 集成);
l 一個不變(為更大規(guī)模數(shù)據(jù)提供更快速度檢索的初心不變)。
Elasticsearch 始終是執(zhí)行 NLP 的理想之選,但過去它需要在 Elasticsearch 之外進(jìn)行一些處理,或編寫一些相當(dāng)復(fù)雜的插件。在 8.0 版中,用戶現(xiàn)在可以直接在 Elasticsearch 中執(zhí)行命名實體識別、情感分析、文本分類等,而無需使用額外的組件或進(jìn)行編碼。在 Elasticsearch 中原生計算和創(chuàng)建矢量,不僅在水平可擴(kuò)展性方面取得了“勝利”(通過在服務(wù)器集群中分布計算資源來實現(xiàn)),這一變化還為 Elasticsearch 用戶顯著節(jié)省了時間和精力。

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


l 帶來了一整套原生矢量搜索功能。
l NLP 的引入使得向量搜索更加實用。
l ANN 的支持使得大規(guī)模數(shù)據(jù)下高速查詢成為可能。
遵循 Elastic 的 slogan:“Simple things should be simple”簡單的事情就該簡單化。
l 默認(rèn)啟用安全性防護(hù)。
l 自動生成令牌和證書。
隨著 Elastic 8.0 的發(fā)布,我們進(jìn)一步擴(kuò)大了云原生集成,有兩個新的 AWS 集成:
l 集成了一個新的 AWS Lambda 應(yīng)用程序。
l 集成了一個新的 Amazon Simple Storage Service (Amazon S3) Storage Lens。
為更大規(guī)模數(shù)據(jù)提供更快速度檢索的初心不變。
8.0 為 Elasticsearch REST APIs 引入了一些重大的變化。Elasticsearch 已經(jīng)在 REST API 中增加了對 7.x 兼容性 header 的支持。這些可選的 header 文件讓你向 8.0 集群發(fā)出 7.x 兼容的請求,并收到 7.x 兼容的響應(yīng)。
首次啟動 Elasticsearch 時,會自動進(jìn)行以下安全配置:
l 為傳輸層和 HTTP 層生成 TLS 證書和密鑰。
l TLS 配置設(shè)置被寫入elasticsearch.yml。
l 為 elastic 用戶生成密碼。
l 為 Kibana 生成一個注冊令牌。
原來 Elasticsearch 安全復(fù)雜配置的日子一去不復(fù)返了!
l 在 Elasticsearch 8.0 中做了一些改變來保護(hù)系統(tǒng)索引不被直接訪問。要訪問系統(tǒng)索引的話,用戶現(xiàn)在必須把 allow_restricted_indices 權(quán)限設(shè)置為 true。
l superuser 角色也不再給予系統(tǒng)索引的寫入權(quán)限。因此,內(nèi)置的 elastic superuser 默認(rèn)不能改變系統(tǒng)索引。
l 此后,開發(fā)者應(yīng)使用 Kibana 或相關(guān)的 Elasticsearch APIs 來管理某個功能的數(shù)據(jù),而不是訪問系統(tǒng)索引。如果你直接訪問系統(tǒng)索引,Elasticsearch 將在 API 響應(yīng)的 header 中和廢棄日志中返回警告。
kNN搜索是通過相似度判斷來根據(jù)查詢向量查找K個鄰近的向量。
使用kNN的場景有:
l 基于自然語言處理(NLP)算法的相關(guān)性排序。
l 產(chǎn)品推薦和推薦引擎。
l 圖片或視頻的相似搜索。
這種變化將使 keyword 字段類型、 match_only_text 字段類型以及在較小程度上的 text字段類型受益。
該更新使得轉(zhuǎn)化為 message 字段索引大小(映射為match_only_text)減少了 14.4%,磁盤占用空間總體減少了 3.5%。
新版本優(yōu)化了多維點(diǎn)(multi-dimensional points)的索引速度,多維點(diǎn)是用于 geo_point、geo_shape 和range 字段的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Lucene 級別的基準(zhǔn)測試顯示,這些字段類型的索引速度提高了 10-15%。主要由這些字段組成的 Elasticsearch 索引和數(shù)據(jù)流可能會在索引速度方面有顯著的改進(jìn)。
可以上傳在 Elasticsearch 之外訓(xùn)練的 PyTorch 模型,并在攝取時使用它們進(jìn)行推理。
第三方模型支持為 Elastic Stack 帶來了現(xiàn)代自然語言處理 (NLP)和搜索用例,例如:
l 填充蒙版 Fill-mask
l 命名實體識別 Named entity recognition (NER)
l 文本分類 Text classification
l 文本嵌入 Text embedding
l 零樣本分類 Zero-shot classification

發(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 天 |