本节讨论在将应用程序迁移到Elasticsearch 6.4时须要注意的更改。json
bin/plugin
不能再删除x-pack了
bin/plugin remove x-pack
再也不有效,在升级到6.4或之后的版本以前,你应该删除X-Pack插件,更多介绍在滚动升级和完整集群重启升级。
也请参阅发行亮点和发行说明。elasticsearch
在过去,fields
能够做为参数提供,也能够做为请求体的一部分提供,如今不提倡在请求体中指定fields
,而是应该始终经过请求参数提供字段,在7.0.0中,字段功能API将不接受请求主体中提供的fields
。插件
在之前的Elasticsearch版本中,调整大小操做(收缩/分割)只会从源索引中复制index.analysis
、index.similarity
和index.sort
设置。Elasticsearch 6.4.0引入了一个请求参数copy_settings
,除了不可复制的索引设置外,它将从源中复制全部索引设置。这个参数在6.x中默认为false
,在6.4.0中当即被弃用,将只能在8.x中被设置为true
,并将在9.0.0中删除。注意,当使用此参数时,意味着将复制全部可复制的设置,这包括为调整大小操做必须放置的索引块,以及为执行调整大小操做而设置的任何分配设置。若是使用此参数,你将不得不在操做以后发出请求,以调整目标索引上所需的设置,或者经过调整大小操做发送这些设置的所需值。code
由许多操做符组成的长字符串的Regexp查询可能会遇到堆栈溢出,为了防止出现这种状况,Regexp查询请求中可使用的regex的最大长度限制为1000
,对于特定索引,这个默认最大值能够经过设置index.max_regex_length
来更改。orm
不使用顶级script
对象的存储脚本格式已被弃用,这些格式的支持将在下一个主要版本中删除。对象
这包括template
存储的脚本格式和不将脚本封装在script
json对象中的格式。索引
performRequest
已被弃用performRequest
和performRequestAsync
在6.3版本的低级别客户端中已经被弃用,支持performRequest(Request)
和performRequestAsync(Request, ActionListener)
,这些将容许咱们向客户端添加更多的特性,而不须要添加更多的performRequest变体。ip
request
方法已被弃用高级别客户端上的全部request
方法都已被弃用,以支持采用RequestOptions
的新变体,这容许高级别客户端的用户对单个请求定制许多其余方法没法使用的选项。rem
为了容许Sniffer
获取更多的元数据,咱们将它从嗅探HttpHost
更改成嗅探Node
,引入了一个新类来包含链接信息和元数据,好比节点的角色或在elasticsearch.yml
中定义的任何属性,这些能够被新的RequestOptions#setNodeSelector
使用。字符串