elasticsearch5.0.0中索引和文檔接口的變化

索引接口變化elasticsearch

當運行索引映射的時候禁止關閉或刪除索引操做。oop

在5.0以前的版本,當索引正在進行映射操做的時候,關閉索引或者刪除索引會致使映射失敗。在5.0中,若是索引正在進行映射操做,則禁止請求關閉索引或者刪除索引操做。但這種行爲對部分映射行爲和之前的方式沒有變化。測試

因爲基於磁盤的規則和默認的文檔值發生了幾處變化,致使warmers已經沒有做用了,所以warmer和warmer API接口被刪除。對象

當更新到5.0時候,系統會直接忽略掉定義在索引中的warmers。索引

在節點統計和精簡節點接口中的OS統計中添加了CPU的利用率。在返回節點統計的接口對象中增長了一個新的對象。這個對象包括cpu的利用率和 load_average列。在以前的os對象中和cpu對象中移除了load_average列。如今load_average會分別輸出1分鐘,5分鐘和15分鐘的cpu利用率,若是返回值中沒有任何數據,表示這個節點不可用。接口

精簡(cat)節點接口返回的cpu列被移除,取而代之的是load_1m, load_5m, load_15m表示1分鐘,五分鐘和十五分鐘的利用率。若是返回值中沒有任何數據,表示這個節點不可用。ci

org.elasticsearch.monitor.os.OsStats這個類作了修改,移除了getLoadAverage方法。如今在OsStats中增長了內部類Cpu,經過Cpu的getLoadAverage方法獲取數據,返回的值不是一個double類型,而是一個對象類型,這個對象包括了一分鐘,五分鐘和十五分鐘你的利用率,Cpu方法增長了getPercent方法來返回當前的利用率。路由

索引統計中的建議統計被移到搜索統計中。做爲搜索統計中的一部分。文檔

爲了減小多索引操做的困惑,在建立索引的時候不能以+或者-開頭。以前建的索引還能夠正常使用。get

索引別名將不在支持索引路由(index_routing),同時也不支持搜索路由(search_routing)。由於這兩個接口並無徹底測試,同時咱們但願直接對索引進行這些操做。

在5.0建立文檔接口中用op_type=create參數將不在支持具體id。

當調用_flush接口等待的時候wait_if_ongoing標誌始終返回true,由於在同一時刻有可能有別操做對同一個分片進行刷新。若是返回false的時候,其餘操做對同一個分片刷新則會致使正在進行刷新操做被終止而不會返回任何錯誤。

本文由賽克 藍德(secisland)原創,轉載請標明做者和出處。

文檔接口變化

對文檔的?refresh操做將不在支持truthy和falsy值。

在建立文檔接口中返回值中取消了created參數,如今返回的內容是:當建立文檔的時候返回"operation": "create",當修改文檔的時候返回"operation": "index"。當用bluk操做的時候返回true。

在刪除接口的返回值中取消了found參數,取而代之的是"operation": "deleted"。當返回值爲"operation": "noop"的時候表示沒有找到文檔。當用bluk操做的時候返回true。

在5.0以前的版本_reindex和_update_by_query only接口在bulk失敗的時候僅僅返回retried的值。例如,返回值:

{
   ...
   "retries": 10
   ...
}

如今當搜索失敗的時候也會返回retries值。

{
   ...
   "retries": {
     "bulk": 10,
     "search": 1
   }
   ...
}

getAPI接口中當最後一次刷新後,若是文檔進行了修改,而這個時候下一次刷新尚未執行,這個時候get接口就會產生問題。若是相同的文檔頻繁的更新將會產生衝突,這種狀況下,可使用realtime=false參數進行請求。

mget API接口中字段fields被從新命名爲stored_fields。

Update和bulk接口中的fields被取消,須要使用 _source來加載字段。

本文由賽克 藍德(secisland)原創,轉載請標明做者和出處。

相關文章
相關標籤/搜索