本節討論在將應用程序遷移到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
使用。字符串