Elasticsearch 是一個基于 Lucene 庫的搜索引擎。它提供了一個分布式、支持多租戶的全文搜索引擎,具有 HTTP Web 接口和無模式 JSON 文檔。Elasticsearch 是用 Java 開發(fā)的,并在 Apache 許可證下作為開源軟件發(fā)布。官方客戶端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和許多其他語言中都是可用的。
時隔近三年,Elasticsearch 8 正式發(fā)布,新增的功能包括:7.x REST API 兼容性
8.0 為 Elasticsearch REST APIs 引入了一些重大的變化。雖然更新你的應(yīng)用程序以適應(yīng)這些變化十分重要,但在升級后尋找和更新每一個 API 調(diào)用可能對開發(fā)者而言十分痛苦且容易出錯。為了使這個過程變得更加容易,Elasticsearch 已經(jīng)在 REST API 中增加了對 7.x 兼容性 header 的支持。這些可選的 header 文件讓你向 8.0 集群發(fā)出 7.x 兼容的請求,并收到 7.x 兼容的響應(yīng)。雖然官方仍然建議開發(fā)者更新你的應(yīng)用程序以使用原生的 8.0 請求和響應(yīng),但 7.x API 兼容 header 文件讓你可以在更長的時間內(nèi)安全地進行這些更改。安全功能在默認情況下被啟用和配置
在沒有安全保障的情況下運行 Elasticsearch 會讓你的集群暴露在任何可以向 Elasticsearch 發(fā)送請求的用戶面前。在以前的版本中,你必須明確地啟用 Elasticsearch 的安全功能,如認證、授權(quán)和網(wǎng)絡(luò)加密(TLS)。從 Elasticsearch 8.0 開始,當(dāng)?shù)谝淮螁?Elasticsearch 時,安全功能被默認啟用和配置。在啟動時,Elasticsearch 8.0 會生成注冊令牌,你可以用它來連接 Kibana 實例或在安全的 Elasticsearch 集群中注冊其他節(jié)點,而無需生成安全證書或更新 YAML 配置文件。只需在啟動新節(jié)點或 Kibana 實例時使用生成的注冊令牌,Elastic Stack 就會為你處理所有安全配置。已知問題:-
如果你在 Linux ARM 或 macOS M1 等 arch64 平臺上從歸檔中安裝 Elasticsearch,那么在首次啟動節(jié)點時,不會自動生成
elastic
用戶密碼和 Kibana 注冊令牌。節(jié)點啟動后,需要用bin/elasticsearch-reset-password
工具生成elastic
密碼:
bin/elasticsearch-reset-password -u elastic
-
然后,用bin/elasticsearch-create-enrollment-token工具為 Kibana 創(chuàng)建一個注冊令牌:
bin/elasticsearch-create-enrollment-token -s kibana
更好地保護系統(tǒng)索引
系統(tǒng)索引為 Elastic 功能存儲配置和內(nèi)部數(shù)據(jù)。一般來說,系統(tǒng)索引僅保留供這些功能內(nèi)部使用。雖然有可能,但直接訪問或改變系統(tǒng)索引會導(dǎo)致不穩(wěn)定和其他問題。在 Elasticsearch 8.0 中做了一些改變來保護系統(tǒng)索引不被直接訪問。要訪問系統(tǒng)索引的話,用戶現(xiàn)在必須把allow_restricted_indices
權(quán)限設(shè)置為true
。superuser
角色也不再給予系統(tǒng)索引的寫入權(quán)限。因此,內(nèi)置的elastic
superuser 默認不能改變系統(tǒng)索引。此后,開發(fā)者應(yīng)使用 Kibana 或相關(guān)的 Elasticsearch APIs 來管理某個功能的數(shù)據(jù),而不是訪問系統(tǒng)索引。如果你直接訪問系統(tǒng)索引,Elasticsearch 將在 API 響應(yīng)的 header 中和廢棄日志中返回警告。新的 KNN 搜索 API
在 Elasticsearch 8.0 中推出了 KNN 搜索 API 的技術(shù)預(yù)覽版。通過使用dense_vector
字段,k-nearest neighbor(KNN)搜索可以找到與查詢向量最近的 k 個向量(這是由相似度指標(biāo)來衡量的)。KNN 通常被用來支持推薦引擎和基于自然語言處理(NLP)算法的相關(guān)性排名。以前,Elasticsearch 只支持精確的 KNN 搜索,使用帶向量函數(shù)的script_score
查詢。雖然這種方法保證了準(zhǔn)確的結(jié)果,但它往往導(dǎo)致搜索速度緩慢,而且在大型數(shù)據(jù)集上不能很好地擴展。作為對較慢的索引和不完美的準(zhǔn)確性的交換,新的 KNN 搜索 API 讓你在更大的數(shù)據(jù)集上以更快的速度運行近似的 KNN 搜索。
為keyword
、match_only_text
和text
字段節(jié)省存儲空間
該版本更新了倒排索引,這是一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),可以使用更節(jié)省空間的編碼。這一變化將使keyword
、match_only_text
字段以及text
字段受益。在使用應(yīng)用程序日志的基準(zhǔn)測試中,這一轉(zhuǎn)變?yōu)?/span>message
字段(映射為match_only_text
)的索引大小減少了 14.4%,總體上減少了 3.5% 的磁盤占用空間。
加快geo_point
、geo_shape
和范圍字段索引速度
新版本優(yōu)化了多維點(multi-dimensional points)的索引速度,多維點是用于geo_point
、geo_shape
和范圍字段的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Lucene 級別的基準(zhǔn)測試顯示,這些字段類型的索引速度提高了 10-15%。主要由這些字段組成的 Elasticsearch 索引和數(shù)據(jù)流可能會在索引速度方面有顯著的改進。PyTorch 模型支持自然語言處理(NLP)
現(xiàn)在可以上傳在 Elasticsearch 之外訓(xùn)練的 PyTorch 模型,并使用它們進行推理。第三方模型支持為 Elastic Stack 帶來了現(xiàn)代自然語言處理(NLP)和搜索用例。其他變化
Aggregations:-
刪除鄰接 matrix 設(shè)置#46327(issues:#46257,#46324)
-
刪除
MovingAverage
管道聚合#39328 -
刪除棄用的
_time
和_term
排序#39450 -
刪除棄用的日期歷史間隔#75000
-
刪除
include_relocations
設(shè)置#47717(issues:#46079,#47443)
-
清理分析中的版本化棄用#41560(issue:#41164)
-
刪除預(yù)先配置的
delimited_payload_filter
#43686(issues:#41560,#43684)
-
除非明確禁用,否則始終添加文件和本機 Realm#69096(issue:#50892)
-
默認情況下不要在 Policy 中設(shè)置 NameID 格式#44090(issue:#40353)
-
為 Realm 配置強制設(shè)置順序#51195(issue:#37614)
-
刪除連接超時#60873(issue:#60872)
-
刪除對延遲狀態(tài)恢復(fù)掛起主控器的支持#53845(issue:#51806)
-
刪除同步刷新#50882(issues:#50776,#50835)
-
刪除
cluster.remote.connect
設(shè)置#54175(issue:#53924)
-
強制合并應(yīng)該拒絕設(shè)置了
only_expunge_deletes
和max_num_segments
的請求#44761(issue:#43102) -
刪除每個類型的索引統(tǒng)計#47203(issue:#41059)
-
移除 translog 保留設(shè)置#51697(issue:#50775)
-
為
_cat/indices
刪除廢棄的local
參數(shù)#64868(issue:#62198) -
為
_cat/shards
刪除廢棄的local
參數(shù)#64867(issue:#62197)
-
默認
cluster.routing.allocation.enforce_default_tier_preference
為true
#79275(issues:#76147,#79210)
-
將
prefer_v2_templates
參數(shù)默認值設(shè)為true
#55489(issues:#53101,#55411) -
刪除棄用的
_upgrade
API#64732(issue:#21337) -
從 REST 層移除參數(shù)
include_type_name
-
刪除索引模板中的
template
字段#49460(issue:#21009)
-
從數(shù)據(jù)路徑中刪除
nodes/0
文件夾前綴 -
刪除
bootstrap.system_call_filter
設(shè)置#72848 -
刪除
node.max_local_storage_nodes
#42428(issue:#42426) -
刪除 Joda 依賴#79007
-
刪除命名日期/時間格式的駝峰式大小寫#60044
-
……
-
刪除 SysV 初始化支持#51716
-
刪除對
JAVA_HOME
的支持#69149 -
需要 Java 17 才能運行 Elasticsearch#79873
原文標(biāo)題:重磅!Elasticsearch 8 正式發(fā)布!
文章出處:【微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
開源軟件
+關(guān)注
關(guān)注
0文章
212瀏覽量
16195 -
JAVA
+關(guān)注
關(guān)注
20文章
2984瀏覽量
106895 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3322瀏覽量
58735
原文標(biāo)題:重磅!Elasticsearch 8 正式發(fā)布!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
SpringBoot整合ElasticSearch

linux安裝配置ElasticSearch之源碼安裝
載譽而歸,重磅發(fā)布!潤和軟件亮相2022開放原子全球開源峰會
開源協(xié)議、開源貢獻協(xié)議與OpenHarmony
你們知道BoostKit開源軟件是怎么來的嗎?
ElasticSearch是什么?應(yīng)用場景是什么?
Elasticsearch保姆級入門

SpringBoot 連接ElasticSearch的使用方式
Rust編寫的首個Postgres基礎(chǔ)Elasticsearch開源替代品問世

Elasticsearch 再次開源

評論