elasticsearch索引模板





什麼是索引模板javascript


索引模板(indices-templates)的做用的告訴es在建立某些索引時如何配置索引的約束,包括的約束有:mappings,、settings、aliases。注意,索引模板須要在建立索引以前建立,而後在手動建立索引或經過對doc創建索引時,模板設置將起做用。css



快速入門java



下面來看個例子:編程


PUT /_index_template/template_1{  "index_patterns" : ["hello-*"], "priority" : 1, "template": { "settings" : { "number_of_shards" : 2 } }}


URL格式:
微信


PUT /_index_template/<index-template-name>


描述:
架構


  • index_patterns:指定適配的索引,支持簡單的正則通配符,hello-*表示適配全部以hello-開頭的索引。app

  • priority:指定當前索引模板的優先級,值越大優先級越高,默認爲0。當索引有多個模板同時適配時,相同的配置以優先級高的爲準。分佈式

  • template:設置索引settings、mappings、aliases部分,關於settings、mappings、aliases這裏不作展開介紹。測試



ELK實戰
spa


ELK是分佈式架構下日誌收集的一套解決方案,咱們一般會在生產環境或測試環境都搭建一套ELK,假如咱們測試環境資源有限,es只部署在單個節點上,而且配置logstash時使用了默認的索引配置,這時咱們訪問http://ip:9200/_cat/health就會發現咱們的es集羣狀態爲:yellow,大概以下圖所示:


1594262473 02:41:13 my-es yellow 1 1 17 17 0 0 10 0 - 63.0%


緣由是默認主分片數量爲1,主分片副本數量也是1,加起來就是2,可是es強制規定同一個節點不能建立2個相同的分片,這時就會致使任何索引的主分片的副本沒有複製。爲了解決這個問題,咱們經過索引模板來修改建立索引時的分片副本數量爲0,這樣每一個主分片就沒有副本了,整個es集羣就會恢復green狀態。下面是具體步驟:


一、訪問kibana,點擊Dev Tools :



二、輸入如下代碼:


PUT /_index_template/template_1{  "index_patterns" : ["myindex_*"], "priority" : 100, "template": { "settings" : { "number_of_shards" : 1, "number_of_replicas": 0 } }}



三、點擊執行便可.


四、刪除索引,或者等待下次建立索引時纔會生效。


刪除索引步驟以下:


第一步:



第二步:



第三步,選擇你須要刪除的進行刪除便可。





---------- 正文結束 ----------


長按掃碼關注微信公衆號


Java軟件編程之家



本文分享自微信公衆號 - Java軟件編程之家(gh_b3a87885f8f5)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索