在6.4中的重要更改

本节讨论在将应用程序迁移到Elasticsearch 6.4时需要注意的更改。

bin/plugin不能再删除x-pack了
bin/plugin remove x-pack不再有效,在升级到6.4或以后的版本之前,你应该删除X-Pack插件,更多介绍在滚动升级和完整集群重启升级。

也请参阅发行亮点和发行说明。

API更改

字段功能请求格式

在过去,fields可以作为参数提供,也可以作为请求体的一部分提供,现在不提倡在请求体中指定fields,而是应该始终通过请求参数提供字段,在7.0.0中,字段功能API将不接受请求主体中提供的fields

在收缩/分割操作期间复制源设置

在以前的Elasticsearch版本中,调整大小操作(收缩/分割)只会从源索引中复制index.analysisindex.similarityindex.sort设置。Elasticsearch 6.4.0引入了一个请求参数copy_settings,除了不可复制的索引设置外,它将从源中复制所有索引设置。这个参数在6.x中默认为false,在6.4.0中立即被弃用,将只能在8.x中被设置为true,并将在9.0.0中删除。注意,当使用此参数时,意味着将复制所有可复制的设置,这包括为调整大小操作必须放置的索引块,以及为执行调整大小操作而设置的任何分配设置。如果使用此参数,你将不得不在操作之后发出请求,以调整目标索引上所需的设置,或者通过调整大小操作发送这些设置的所需值。

搜索和查询DSL更改

限制Regexp查询请求中可以使用的regex的长度

由许多操作符组成的长字符串的Regexp查询可能会遇到堆栈溢出,为了防止出现这种情况,Regexp查询请求中可以使用的regex的最大长度限制为1000,对于特定索引,这个默认最大值可以通过设置index.max_regex_length来更改。

脚本

遗留存储的脚本格式已被废弃

不使用顶级script对象的存储脚本格式已被弃用,这些格式的支持将在下一个主要版本中删除。

这包括template存储的脚本格式和不将脚本封装在script json对象中的格式。

REST客户端

旧的低级别performRequest已被弃用

performRequestperformRequestAsync在6.3版本的低级别客户端中已经被弃用,支持performRequest(Request)performRequestAsync(Request, ActionListener),这些将允许我们向客户端添加更多的特性,而不需要添加更多的performRequest变体。

旧的高级别request方法已被弃用

高级别客户端上的所有request方法都已被弃用,以支持采用RequestOptions的新变体,这允许高级别客户端的用户对单个请求定制许多其他方法无法使用的选项。

HostSniffer重命名为NodeSniffer和signature更改

为了允许Sniffer获取更多的元数据,我们将它从嗅探HttpHost更改为嗅探Node,引入了一个新类来包含连接信息和元数据,比如节点的角色或在elasticsearch.yml中定义的任何属性,这些可以被新的RequestOptions#setNodeSelector使用。


博弈
2.5k 声望1.5k 粉丝

态度决定一切