天天看點

Elasticsearch 5.4 Indices(索引) API前言一、索引管理二、mapping管理三、别名管理四、索引配置五、監控管理六、狀态管理

<a href="#%E5%89%8D%E8%A8%80" target="_blank">前言</a>

<a href="#%E4%B8%80%E7%B4%A2%E5%BC%95%E7%AE%A1%E7%90%86" target="_blank">一索引管理</a>

<a href="#11-%E5%88%9B%E5%BB%BA%E7%B4%A2%E5%BC%95" target="_blank">1 建立索引</a>

<a href="#12-%E5%88%A0%E9%99%A4%E7%B4%A2%E5%BC%95" target="_blank">2 删除索引</a>

<a href="#13-%E6%9F%A5%E7%9C%8B%E7%B4%A2%E5%BC%95%E4%BF%A1%E6%81%AF" target="_blank">3 檢視索引資訊</a>

<a href="#14-%E7%B4%A2%E5%BC%95%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8" target="_blank">4 索引是否存在</a>

<a href="#15-%E5%85%B3%E9%97%AD%E6%89%93%E5%BC%80%E7%B4%A2%E5%BC%95" target="_blank">5 關閉打開索引</a>

<a href="#16-%E7%B4%A2%E5%BC%95%E6%94%B6%E7%BC%A9" target="_blank">6 索引收縮</a>

<a href="#17-%E7%BF%BB%E6%BB%9A%E7%B4%A2%E5%BC%95" target="_blank">7 翻滾索引</a>

<a href="#%E4%BA%8Cmapping%E7%AE%A1%E7%90%86" target="_blank">二mapping管理</a>

<a href="#21-%E8%AE%BE%E7%BD%AEmapping" target="_blank">1 設定mapping</a>

<a href="#22-%E6%9F%A5%E7%9C%8Bmapping" target="_blank">2 檢視mapping</a>

<a href="#23-%E8%8E%B7%E5%8F%96%E5%AD%97%E6%AE%B5mapping" target="_blank">3 擷取字段mapping</a>

<a href="#24-%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8" target="_blank">4 類型是否存在</a>

<a href="#%E4%B8%89%E5%88%AB%E5%90%8D%E7%AE%A1%E7%90%86" target="_blank">三别名管理</a>

<a href="#3-1-%E7%B4%A2%E5%BC%95%E5%88%AB%E5%90%8D%E8%AE%BE%E7%BD%AE" target="_blank">1 索引别名設定</a>

<a href="#%E5%9B%9B%E7%B4%A2%E5%BC%95%E9%85%8D%E7%BD%AE" target="_blank">四索引配置</a>

<a href="#41-%E8%8E%B7%E5%8F%96%E7%B4%A2%E5%BC%95%E8%AE%BE%E7%BD%AE" target="_blank">1 擷取索引設定</a>

<a href="#42-%E6%9B%B4%E6%96%B0%E7%B4%A2%E5%BC%95%E8%AE%BE%E7%BD%AE" target="_blank">2 更新索引設定</a>

<a href="#43-%E5%88%86%E6%9E%90%E5%99%A8" target="_blank">3 分析器</a>

<a href="#44-%E7%B4%A2%E5%BC%95%E6%A8%A1%E6%9D%BF" target="_blank">4 索引模闆</a>

<a href="#%E4%BA%94%E7%9B%91%E6%8E%A7%E7%AE%A1%E7%90%86" target="_blank">五監控管理</a>

<a href="#51-%E7%B4%A2%E5%BC%95%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF" target="_blank">1 索引統計資訊</a>

<a href="#52-%E7%B4%A2%E5%BC%95%E6%AE%B5" target="_blank">2 索引段</a>

<a href="#53-%E7%B4%A2%E5%BC%95%E6%81%A2%E5%A4%8D" target="_blank">3 索引恢複</a>

<a href="#54-%E7%B4%A2%E5%BC%95%E5%88%86%E7%89%87%E5%AD%98%E5%82%A8" target="_blank">4 索引分片存儲</a>

<a href="#%E5%85%AD%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86" target="_blank">六狀态管理</a>

<a href="#61-%E6%B8%85%E9%99%A4%E7%BC%93%E5%AD%98" target="_blank">1 清除緩存</a>

<a href="#62-%E5%88%B7%E6%96%B0" target="_blank">2 重新整理</a>

<a href="#63-flush" target="_blank">3 flush</a>

<a href="#64-%E5%BC%BA%E5%88%B6%E6%AE%B5%E5%90%88%E5%B9%B6force-merge" target="_blank">4 強制段合并force merge</a>

建立索引

預設分片為5,副本為1.

建立索引并指定分片數和副本數:

或者簡寫為:

建立索引并指定mapping:

檢視所有的settings、别名、mapping,指令:

添加參數過濾資訊:

如果想知道叢集中是否存在某個索引,可以使用以下指令:

如果存在,傳回狀态碼200:

如果不存在,傳回狀态碼404:

對于不使用的索引,關閉索引可以節省開銷,但是索引關閉以後讀寫操作是無法進行的。

打開索引:

關閉索引:

可以同時關閉多個索引,如果其中有索引不存在會報異常,可以使用<code>ignore_unavailable=true</code>參數忽略不存在索引。

shrink index AP可以把一個索引變成一個更少分片的索引,但是收縮後的分片數必須是原始分片數的因子(因子就是所有可以整除這個數的數,不包括這個數自身),比如有8個分片的索引可以收縮為4、2、1,有15個分片的索引可以收縮為5、3、1,如果分片數為素數(7、11等),那麼隻能收縮為1個分片。 收縮索引之前,索引中的每個分片都要在同一個節點上。

收縮索引的完成過程:

首先,建立了一個新的目标索引,設定與源索引相同,但新索引的分片數量較少。

然後把源索引的段到硬連結到目标索引。(如果檔案系統不支援硬連結,那麼所有段都被複制到新索引中,這是一個耗費更多時間的過程。)

最後,新的索引恢複使用,好像它是一個剛剛重新開放的封閉索引。

搜尋之前,使索引為隻讀狀态并使分片重新配置設定到同一個節點:

設定目标索引名和分片數,别名可選:

put mapping可以給一個已存在的索引增加type的mapping,也可以給一個存在的type增加字段的mapping。

一般情況下字段的mapping設定是不可以更新的,有幾個特例除外:

properties嵌套屬性可以新增

ignore_above 參數的值可以更新

檢視一個索引的mapping:

檢視一個索引的一個type的mapping:

檢視所有索引的mapping:

或者:

get field mapping api可以檢視索引的一個或多個字段的mapping,設定建立一個索引做測試:

檢視索引是否存在某個type:

傳回值為200說明存在,404說明不存在。

可以給一個或多個索引設定别名,但是别名不能和已有索引名稱相同。

給索引名為test1的索引設定别名為alias1:

移除别名:

更新别名的映射關系就是先移除再添加:

也可以同時給多個索引設定同一個别名:

也可以使用通配符,一下所有以test開頭的索引都設定别名為all_test_indices:

檢視索引的settings:

檢視多個索引的settings:

修改副本:

修改settings用于提高Bulk的導入性能,bulk之前設定重新整理時間為-1,也就是bulk導入期間不再重新整理:

bulk導入之後恢複重新整理時間并強制段合并

檢視分詞标準分詞結果:

檢視IK分詞結果:

索引模闆可以自動比對新建立的索引。

删除索引模闆:

檢視索引模闆:

檢視一個或多個:

segment是比Lucene索引更小的機關,通過segment可以擷取更多的關于分片和索引的資訊。

檢視索引的段資訊:

傳回結果:

統計索引占段記憶體:

繼續閱讀