0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Elasticsearch 8作为开源软件正式发布

Linux爱好者 来源:OSC开源社区 作者:OSC开源社区 2022-03-17 14:12 次阅读

Elasticsearch 是一个基于 Lucene 库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档。Elasticsearch 是用 Java 开发的,并在 Apache 许可证下作为开源软件发布。官方客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其他语言中都是可用的。

时隔近三年,Elasticsearch 8 正式发布,新增的功能包括:

7.x REST API 兼容性

8.0 为 Elasticsearch REST APIs 引入了一些重大的变化。虽然更新你的应用程序以适应这些变化十分重要,但在升级后寻找和更新每一个 API 调用可能对开发者而言十分痛苦且容易出错。为了使这个过程变得更加容易,Elasticsearch 已经在 REST API 中增加了对 7.x 兼容性 header 的支持。这些可选的 header 文件让你向 8.0 集群发出 7.x 兼容的请求,并收到 7.x 兼容的响应。虽然官方仍然建议开发者更新你的应用程序以使用原生的 8.0 请求和响应,但 7.x API 兼容 header 文件让你可以在更长的时间内安全地进行这些更改。

安全功能在默认情况下被启用和配置

在没有安全保障的情况下运行 Elasticsearch 会让你的集群暴露在任何可以向 Elasticsearch 发送请求的用户面前。在以前的版本中,你必须明确地启用 Elasticsearch 的安全功能,如认证、授权和网络加密(TLS)。从 Elasticsearch 8.0 开始,当第一次启动 Elasticsearch 时,安全功能被默认启用和配置。在启动时,Elasticsearch 8.0 会生成注册令牌,你可以用它来连接 Kibana 实例或在安全的 Elasticsearch 集群中注册其他节点,而无需生成安全证书或更新 YAML 配置文件。只需在启动新节点或 Kibana 实例时使用生成的注册令牌,Elastic Stack 就会为你处理所有安全配置。已知问题:
  • 如果你在 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

更好地保护系统索引

系统索引为 Elastic 功能存储配置和内部数据。一般来说,系统索引仅保留供这些功能内部使用。虽然有可能,但直接访问或改变系统索引会导致不稳定和其他问题。在 Elasticsearch 8.0 中做了一些改变来保护系统索引不被直接访问。要访问系统索引的话,用户现在必须把allow_restricted_indices权限设置为truesuperuser角色也不再给予系统索引的写入权限。因此,内置的elasticsuperuser 默认不能改变系统索引。此后,开发者应使用 Kibana 或相关的 Elasticsearch APIs 来管理某个功能的数据,而不是访问系统索引。如果你直接访问系统索引,Elasticsearch 将在 API 响应的 header 中和废弃日志中返回警告。

新的 KNN 搜索 API

在 Elasticsearch 8.0 中推出了 KNN 搜索 API 的技术预览版。通过使用dense_vector字段,k-nearest neighbor(KNN)搜索可以找到与查询向量最近的 k 个向量(这是由相似度指标来衡量的)。KNN 通常被用来支持推荐引擎和基于自然语言处理(NLP)算法的相关性排名。以前,Elasticsearch 只支持精确的 KNN 搜索,使用带向量函数的script_score查询。虽然这种方法保证了准确的结果,但它往往导致搜索速度缓慢,而且在大型数据集上不能很好地扩展。作为对较慢的索引和不完美的准确性的交换,新的 KNN 搜索 API 让你在更大的数据集上以更快的速度运行近似的 KNN 搜索。

keywordmatch_only_texttext字段节省存储空间

该版本更新了倒排索引,这是一个内部数据结构,可以使用更节省空间的编码。这一变化将使keywordmatch_only_text字段以及text字段受益。在使用应用程序日志的基准测试中,这一转变为message字段(映射为match_only_text)的索引大小减少了 14.4%,总体上减少了 3.5% 的磁盘占用空间。

加快geo_pointgeo_shape和范围字段索引速度

新版本优化了多维点(multi-dimensional points)的索引速度,多维点是用于geo_pointgeo_shape和范围字段的内部数据结构。Lucene 级别的基准测试显示,这些字段类型的索引速度提高了 10-15%。主要由这些字段组成的 Elasticsearch 索引和数据流可能会在索引速度方面有显著的改进。

PyTorch 模型支持自然语言处理(NLP)

现在可以上传在 Elasticsearch 之外训练的 PyTorch 模型,并使用它们进行推理。第三方模型支持为 Elastic Stack 带来了现代自然语言处理(NLP)和搜索用例。

其他变化

Aggregations:
  • 删除邻接 matrix 设置#46327(issues:#46257,#46324)

  • 删除MovingAverage管道聚合#39328

  • 删除弃用的_time_term排序#39450

  • 删除弃用的日期历史间隔#75000

Allocation:
  • 删除include_relocations设置#47717(issues:#46079,#47443)

Analysis:
  • 清理分析中的版本化弃用#41560(issue:#41164)

  • 删除预先配置的delimited_payload_filter#43686(issues:#41560,#43684)

Authentication:
  • 除非明确禁用,否则始终添加文件和本机 Realm#69096(issue:#50892)

  • 默认情况下不要在 Policy 中设置 NameID 格式#44090(issue:#40353)

  • 为 Realm 配置强制设置顺序#51195(issue:#37614)

Cluster Coordination:
  • 删除连接超时#60873(issue:#60872)

  • 删除对延迟状态恢复挂起主控器的支持#53845(issue:#51806)

Distributed:
  • 删除同步刷新#50882(issues:#50776,#50835)

  • 删除cluster.remote.connect设置#54175(issue:#53924)

Engine:
  • 强制合并应该拒绝设置了only_expunge_deletesmax_num_segments的请求#44761(issue:#43102)

  • 删除每个类型的索引统计#47203(issue:#41059)

  • 移除 translog 保留设置#51697(issue:#50775)

Features/CAT APIs:
  • _cat/indices删除废弃的local参数#64868(issue:#62198)

  • _cat/shards删除废弃的local参数#64867(issue:#62197)

Features/ILM+SLM:
  • 默认cluster.routing.allocation.enforce_default_tier_preferencetrue#79275(issues:#76147,#79210)

Features/Indices APIs
  • prefer_v2_templates参数默认值设为true#55489(issues:#53101,#55411)

  • 删除弃用的_upgradeAPI#64732(issue:#21337)

  • 从 REST 层移除参数include_type_name

  • 删除索引模板中的template字段#49460(issue:#21009)

Infra/Core
  • 从数据路径中删除nodes/0文件夹前缀

  • 删除bootstrap.system_call_filter设置#72848

  • 删除node.max_local_storage_nodes#42428(issue:#42426)

  • 删除 Joda 依赖#79007

  • 删除命名日期/时间格式的驼峰式大小写#60044

  • ……

Packaging
  • 删除 SysV 初始化支持#51716

  • 删除对JAVA_HOME的支持#69149

  • 需要 Java 17 才能运行 Elasticsearch#79873

原文标题:重磅!Elasticsearch 8 正式发布!

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源软件
    +关注

    关注

    0

    文章

    205

    浏览量

    15720
  • JAVA
    +关注

    关注

    19

    文章

    2916

    浏览量

    103356
  • 应用程序
    +关注

    关注

    37

    文章

    3170

    浏览量

    57087

原文标题:重磅!Elasticsearch 8 正式发布!

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Windows安装ElasticSearch

    Windows安装ElasticSearch
    的头像 发表于 02-15 17:09 789次阅读
    Windows安装<b class='flag-5'>ElasticSearch</b>

    linux安装配置ElasticSearch之源码安装

    ElasticSearch是基于Lucene这个非常成熟的索引方案,另加上一些分布式的实现:集群,sharding,replication等。以下是对其采用源码安装的方法1.下载
    发表于 01-11 17:27

    ElasticSearch的词条查询

    ElasticSearch查询 第三篇:词条查询
    发表于 04-30 17:03

    ElasticSearch的初步环境

    ElasticSearch最实用入门指南——初步环境
    发表于 03-31 11:32

    简述linux-arm64 UOS安装开源Grafana的步骤

    Graphite、elasticsearch、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源 原作者:HW-QGS 华为云社区
    发表于 06-16 15:00

    载誉而归,重磅发布!润和软件亮相2022开放原子全球开源峰会

    题,以立足中国、面向世界的姿态,推动全球开源事业的交流合作。2022开放原子全球开源峰会现场作为本次大会的共建单位,江苏润和软件股份有限公司(以下简称“润和
    发表于 07-29 16:58

    开源协议、开源贡献协议与OpenHarmony

    允许商业软件通过类库引用(link)的方式使用 LGPL 类库,而不需要开源商业软件的代码。这使得采用 LGPL 协议的开源代码可以被商业软件
    发表于 08-30 15:33

    加速培育开源人才,开放原子校源行课程体系正式发布

    在数字化转型的浪潮中,开源软件人才培养成为科技创新的发展根基。2022年10月24日,在1024程序员节北京峰会现场,开放原子开源基金会正式发布开放原子校源行课程体系,并与深圳市腾讯计
    发表于 12-08 11:59

    elasticsearch介绍PPT

    elasticsearch介绍PPT
    发表于 12-13 21:05 20次下载

    如何在Python中进行Elasticsearch操作?

    ElasticSearch(ES)是一个建立在Apache Lucene之上的高度可用的分布式开源搜索引擎
    的头像 发表于 07-20 11:12 7429次阅读
    如何在Python中进行<b class='flag-5'>Elasticsearch</b>操作?

    你们知道BoostKit开源软件是怎么来的吗?

    的核心。让开源软件与ARM平台进行充分的软硬件适配和性能优化,并打造可用、好用的开源软件,显得尤为关键。 《厚积薄发》 BoostKit使能开源
    的头像 发表于 06-25 11:33 1906次阅读

    ElasticSearch是什么?应用场景是什么?

    ElasticSearch是什么 ElasticSearch的功能 ElasticSearch的应用场景 ElasticSearch的特点
    的头像 发表于 10-09 18:38 2136次阅读

    Elasticsearch保姆级入门

    我们需要创建一个供 Elasticsearch 和 Kibana 使用的 network。这个 network 将被用于 Elasticsearch 和 Kibana 之间的通信。
    的头像 发表于 09-01 15:24 354次阅读
    <b class='flag-5'>Elasticsearch</b>保姆级入门

    SpringBoot 连接ElasticSearch的使用方式

    在上篇 ElasticSearch 文章中,我们详细的介绍了 ElasticSearch 的各种 api 使用。 实际的项目开发过程中,我们通常基于某些主流框架平台进行技术开发,比如
    的头像 发表于 10-09 10:35 476次阅读

    Rust编写的首个Postgres基础Elasticsearch开源替代品问世

    ,Firebase 开源替代 Supabase,AirTable 开源替代 NocoDB,等等等等,现在又多了 ElasticSearch 开源替代 —— ParadeDB。
    的头像 发表于 02-22 11:34 465次阅读
    Rust编写的首个Postgres基础<b class='flag-5'>Elasticsearch</b><b class='flag-5'>开源</b>替代品问世