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)安全地進(jìn)行這些更改。安全功能在默認(rèn)情況下被啟用和配置
在沒有安全保障的情況下運(yùn)行 Elasticsearch 會讓你的集群暴露在任何可以向 Elasticsearch 發(fā)送請求的用戶面前。在以前的版本中,你必須明確地啟用 Elasticsearch 的安全功能,如認(rèn)證、授權(quán)和網(wǎng)絡(luò)加密(TLS)。從 Elasticsearch 8.0 開始,當(dāng)?shù)谝淮螁?Elasticsearch 時,安全功能被默認(rèn)啟用和配置。在啟動時,Elasticsearch 8.0 會生成注冊令牌,你可以用它來連接 Kibana 實(shí)例或在安全的 Elasticsearch 集群中注冊其他節(jié)點(diǎn),而無需生成安全證書或更新 YAML 配置文件。只需在啟動新節(jié)點(diǎn)或 Kibana 實(shí)例時使用生成的注冊令牌,Elastic Stack 就會為你處理所有安全配置。已知問題:-
如果你在 Linux ARM 或 macOS M1 等 arch64 平臺上從歸檔中安裝 Elasticsearch,那么在首次啟動節(jié)點(diǎn)時,不會自動生成
elastic
用戶密碼和 Kibana 注冊令牌。節(jié)點(diǎn)啟動后,需要用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
更好地保護(hù)系統(tǒng)索引
系統(tǒng)索引為 Elastic 功能存儲配置和內(nèi)部數(shù)據(jù)。一般來說,系統(tǒng)索引僅保留供這些功能內(nèi)部使用。雖然有可能,但直接訪問或改變系統(tǒng)索引會導(dǎo)致不穩(wěn)定和其他問題。在 Elasticsearch 8.0 中做了一些改變來保護(hù)系統(tǒng)索引不被直接訪問。要訪問系統(tǒng)索引的話,用戶現(xiàn)在必須把allow_restricted_indices
權(quán)限設(shè)置為true
。superuser
角色也不再給予系統(tǒng)索引的寫入權(quán)限。因此,內(nèi)置的elastic
superuser 默認(rèn)不能改變系統(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ù)集上不能很好地擴(kuò)展。作為對較慢的索引和不完美的準(zhǔn)確性的交換,新的 KNN 搜索 API 讓你在更大的數(shù)據(jù)集上以更快的速度運(yùn)行近似的 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)化了多維點(diǎn)(multi-dimensional points)的索引速度,多維點(diǎn)是用于geo_point
、geo_shape
和范圍字段的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。Lucene 級別的基準(zhǔn)測試顯示,這些字段類型的索引速度提高了 10-15%。主要由這些字段組成的 Elasticsearch 索引和數(shù)據(jù)流可能會在索引速度方面有顯著的改進(jìn)。PyTorch 模型支持自然語言處理(NLP)
現(xiàn)在可以上傳在 Elasticsearch 之外訓(xùn)練的 PyTorch 模型,并使用它們進(jìn)行推理。第三方模型支持為 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)
-
除非明確禁用,否則始終添加文件和本機(jī) Realm#69096(issue:#50892)
-
默認(rèn)情況下不要在 Policy 中設(shè)置 NameID 格式#44090(issue:#40353)
-
為 Realm 配置強(qiáng)制設(shè)置順序#51195(issue:#37614)
-
刪除連接超時#60873(issue:#60872)
-
刪除對延遲狀態(tài)恢復(fù)掛起主控器的支持#53845(issue:#51806)
-
刪除同步刷新#50882(issues:#50776,#50835)
-
刪除
cluster.remote.connect
設(shè)置#54175(issue:#53924)
-
強(qiáng)制合并應(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)
-
默認(rèn)
cluster.routing.allocation.enforce_default_tier_preference
為true
#79275(issues:#76147,#79210)
-
將
prefer_v2_templates
參數(shù)默認(rèn)值設(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 才能運(yùn)行 Elasticsearch#79873
原文標(biāo)題:重磅!Elasticsearch 8 正式發(fā)布!
文章出處:【微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
開源軟件
+關(guān)注
關(guān)注
0文章
212瀏覽量
16275 -
JAVA
+關(guān)注
關(guān)注
20文章
2989瀏覽量
109734 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3337瀏覽量
59039
原文標(biāo)題:重磅!Elasticsearch 8 正式發(fā)布!
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
SpringBoot整合ElasticSearch

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

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

Elasticsearch 再次開源

評論