Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。
时隔近三年,Elasticsearch 8 正式发布,新增的功能包括:
如果你在 Linux ARM 或 macOS M1 等 arch64 平台上从归档中安装 Elasticsearch,那么在首次启动节点时,不会自动生成 elastic
用户密码和 Kibana 注册令牌。节点启动后,需要用 bin/elasticsearch-reset-password
工具生成 elastic
密码:
bin/elasticsearch-reset-password -u elastic
然后,用 bin/elasticsearch-create-enrollment-token 工具为 Kibana 创建一个注册令牌:
bin/elasticsearch-create-enrollment-token -s kibana
allow_restricted_indices
权限设置为 true
。superuser
角色也不再给予系统索引的写入权限。因此,内置的 elastic
superuser 默认不能改变系统索引。此后,开发者应使用 Kibana 或相关的 Elasticsearch APIs 来管理某个功能的数据,而不是访问系统索引。如果你直接访问系统索引,Elasticsearch 将在 API 响应的 header 中和废弃日志中返回警告。dense_vector
字段,k-nearest neighbor(KNN)搜索可以找到与查询向量最近的 k 个向量(这是由相似度指标来衡量的)。KNN 通常被用来支持推荐引擎和基于自然语言处理(NLP)算法的相关性排名。以前,Elasticsearch 只支持精确的 KNN 搜索,使用带向量函数的 script_score
查询。虽然这种方法保证了准确的结果,但它往往导致搜索速度缓慢,而且在大型数据集上不能很好地扩展。作为对较慢的索引和不完美的准确性的交换,新的 KNN 搜索 API 让你在更大的数据集上以更快的速度运行近似的 KNN 搜索。keyword
、 match_only_text
和 text
字段节省存储空间keyword
、 match_only_text
字段以及 text
字段受益。在使用应用程序日志的基准测试中,这一转变为 message
字段(映射为 match_only_text
)的索引大小减少了 14.4%,总体上减少了 3.5% 的磁盘占用空间。geo_point
、geo_shape
和范围字段索引速度geo_point
、geo_shape
和范围字段的内部数据结构。Lucene 级别的基准测试显示,这些字段类型的索引速度提高了 10-15%。主要由这些字段组成的 Elasticsearch 索引和数据流可能会在索引速度方面有显著的改进。删除邻接 matrix 设置 #46327 (issues: #46257, #46324)
删除 MovingAverage
管道聚合 #39328
删除弃用的 _time
和 _term
排序 #39450
删除弃用的日期历史间隔 #75000
删除include_relocations
设置 #47717 (issues: #46079, #47443)
清理分析中的版本化弃用 #41560 (issue: #41164)
删除预先配置的 delimited_payload_filter
#43686 (issues: #41560, #43684)
除非明确禁用,否则始终添加文件和本机 Realm #69096 (issue: #50892)
默认情况下不要在 Policy 中设置 NameID 格式 #44090 (issue: #40353)
为 Realm 配置强制设置顺序 #51195 (issue: #37614)
删除连接超时 #60873 (issue: #60872)
删除对延迟状态恢复挂起主控器的支持 #53845 (issue: #51806)
删除同步刷新 #50882 (issues: #50776, #50835)
删除 cluster.remote.connect
设置 #54175 (issue: #53924)
强制合并应该拒绝设置了only_expunge_deletes
和max_num_segments
的请求 #44761 (issue: #43102)
删除每个类型的索引统计 #47203 (issue: #41059)
移除 translog 保留设置 #51697 (issue: #50775)
为 _cat/indices
删除废弃的 local
参数 #64868 (issue: #62198)
为 _cat/shards
删除废弃的 local
参数 #64867 (issue: #62197)
默认cluster.routing.allocation.enforce_default_tier_preference
为true
#79275 (issues: #76147, #79210)
将prefer_v2_templates
参数默认值设为 true
#55489 (issues: #53101, #55411)
删除弃用的_upgrade
API #64732 (issue: #21337)
从 REST 层移除参数 include_type_name
删除索引模板中的template
字段 #49460 (issue: #21009)
从数据路径中删除nodes/0
文件夹前缀
删除bootstrap.system_call_filter
设置 #72848
删除node.max_local_storage_nodes
#42428 (issue: #42426)
删除 Joda 依赖 #79007
删除命名日期/时间格式的驼峰式大小写 #60044
……
删除 SysV 初始化支持 #51716
删除对JAVA_HOME
的支持 #69149
需要 Java 17 才能运行 Elasticsearch #79873
原文标题:重磅!Elasticsearch 8 正式发布!
文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !