白話Elasticsearch73_ES生產集群中的索引管理02

      網友投稿 858 2025-04-01

      文章目錄


      概述

      官方指導

      1、mapping管理

      2、索引別名管理

      3、index settings管理

      3.1 Update index settings API

      3.2 Get index settings API

      4、index template

      4.0 官方文檔

      4.1 新建/更新模板

      4.2 刪除模板

      4.3 查看模板

      4.4 使用模板創建索引

      4.5 模板的使用場景

      概述

      繼續跟中華石杉老師學習ES,第74篇

      課程地址: https://www.roncoo.com/view/55

      官方指導

      Index APIs: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html

      1、mapping管理

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html#mapping-management

      put mapping命令可以讓我們給一個已有的索引添加一個新的type,或者修改一個type,比如給某個type加一些字段

      put mapping: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html

      下面這個命令是在創建索引的時候,直接跟著創建一個type

      curl -XPUT 'http://elasticsearch02:9200/twitter?pretty' -d ' { "mappings": { "tweet": { "properties": { "message": { "type": "text" } } } } }'

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      下面這個命令是給一個已有的索引添加一個type 。 7.x 已經取消這個功能了,了解即可。

      curl -XPUT 'http://elasticsearch02:9200/twitter/_mapping/user?pretty' -d ' { "properties": { "name": { "type": "text" } } }'

      1

      2

      3

      4

      5

      6

      7

      8

      下面這個命令是給一個已有的type添加一個field

      curl -XPUT 'http://elasticsearch02:9200/twitter/_mapping/tweet?pretty' -d ' { "properties": { "user_name": { "type": "text" } } }'

      1

      2

      3

      4

      5

      6

      7

      8

      curl -XGET 'http://elasticsearch02:9200/twitter/_mapping/tweet?pretty',上面這行命令可以查看某個type的mapping映射信息

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html

      curl -XGET 'http://elasticsearch02:9200/twitter/_mapping/tweet/field/message?pretty',這行命令可以看某個type的某個field的映射信息

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-mapping.html

      Type exists API https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-types-exists.html

      mapping管理是運維中,索引管理中,很基礎的一塊

      2、索引別名管理

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html#alias-management

      curl -XPOST 'http://elasticsearch02:9200/_aliases?pretty' -d ' { "actions" : [ { "add" : { "index" : "twitter", "alias" : "twitter_prod" } } ] }'

      1

      2

      3

      4

      5

      6

      7

      curl -XPOST 'http://elasticsearch02:9200/_aliases?pretty' -d ' { "actions" : [ { "remove" : { "index" : "twitter", "alias" : "twitter_prod" } } ] }'

      1

      2

      3

      4

      5

      6

      7

      POST /_aliases { "actions" : [ { "remove" : { "index" : "test1", "alias" : "alias1" } }, { "add" : { "index" : "test2", "alias" : "alias1" } } ] }

      1

      2

      3

      4

      5

      6

      7

      POST /_aliases { "actions" : [ { "add" : { "indices" : ["test1", "test2"], "alias" : "alias1" } } ] }

      1

      2

      3

      4

      5

      6

      上面是給某個index添加和刪除alias的命令,還有重命名alias的命令(先刪除再添加),包括將一個alias綁定多個index

      POST /_aliases { "actions" : [ { "add" : { "index" : "test1", "alias" : "alias2", "filter" : { "term" : { "user" : "kimchy" } } } } ] }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      DELETE /logs_20162801/_alias/current_day

      1

      GET /_alias/2016

      1

      索引別名,還是挺有用的,主要是什么呢,就是說,可以將一個索引別名底層掛載多個索引,比如說7天的數據

      索引別名常常和之前講解的那個rollover結合起來,我們為了性能和管理方便,每天的數據都rollover出來一個索引,但是在對數據分析的時候,可能是這樣子的,有一個索引access-log,指向了當日最新的數據,用來計算實時數據的; 有一個索引access-log-7days,指向了7天的7個索引,可以讓我們進行一些周數據的統計和分析。

      3、index settings管理

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html#index-settings

      3.1 Update index settings API

      語法

      PUT //_settings

      1

      2

      3

      curl -XPUT 'http://elasticsearch02:9200/twitter/_settings?pretty' -d ' { "index" : { "number_of_replicas" : 1 } }'

      1

      2

      3

      4

      5

      6

      7

      3.2 Get index settings API

      curl -XGET 'http://elasticsearch02:9200/twitter/_settings?pretty'

      1

      2

      經常可能要對index做一些settings的調整,常常和之前的index open和close結合起來使用

      4、index template

      4.0 官方文檔

      https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html#index-templates

      我們可以定義一些index template,這樣template會自動應用到根據匹配規則( based on an index pattern)匹配到的新創建的索引上去。

      template中可以包含settings和mappings,還可以包含一個pattern,決定了template會被應用到哪些index上。

      而且template僅僅在index創建的時候會被應用,修改template,是不會對已有的index產生影響的。

      4.1 新建/更新模板

      語法:

      PUT /_template/

      1

      創建或者更新模板

      curl -XPUT 'http://elasticsearch02:9200/_template/template_access_log?pretty' -d ' { "template": "access-log-*", "settings": { "number_of_shards": 2 }, "mappings": { "log": { "_source": { "enabled": false }, "properties": { "host_name": { "type": "keyword" }, "created_at": { "type": "date", "format": "EEE MMM dd HH:mm:ss Z YYYY" } } } }, "aliases" : { "access-log" : {} } }'

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      白話Elasticsearch73_ES生產集群中的索引管理02

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      4.2 刪除模板

      curl -XDELETE 'http://elasticsearch02:9200/_template/template_access_log?pretty'

      1

      2

      # 刪除模板 DELETE _template/template_1

      1

      2

      返回

      { "acknowledged": true }

      1

      2

      3

      4.3 查看模板

      curl -XGET 'http://elasticsearch02:9200/_template/template_access_log?pretty'

      1

      # 查看所有的模板 GET _template # 查看特定的模板 GET _template/template_1

      1

      2

      3

      4

      5

      4.4 使用模板創建索引

      curl -XPUT 'http://elasticsearch02:9200/access-log-01?pretty'

      1

      查看索引, 觀察模板是否被自動的關聯到了匹配的模板上了。

      curl -XGET 'http://elasticsearch02:9200/access-log-01?pretty'

      1

      # 新建索引 匹配模板的index_patterns PUT test

      1

      2

      GET test/_mapping

      1

      4.5 模板的使用場景

      index template使用場景: 舉個例子你可能會經常創建不同的索引,比如說商品,分成了多種,每個商品種類的數據都很大,可能就是說,一個商品種類一個索引,但是每個商品索引的設置是差不多的,所以干脆可以搞一個商品索引模板,然后每次新建一個商品種類索引,直接綁定到模板,引用相關的設置。

      簡言之,將公共的東西抽取到模板中,省去了一遍一遍設置的麻煩。

      Elasticsearch

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:wps怎么在表格中添加序號
      下一篇:excel 上標(EXCEL上標和下標)
      相關文章
      亚洲av无码不卡| 亚洲无线码一区二区三区| 亚洲AV日韩精品久久久久| 在线精品亚洲一区二区三区| 亚洲av无码乱码在线观看野外| 亚洲欧美成人av在线观看| 日韩亚洲不卡在线视频中文字幕在线观看 | 久久亚洲精品无码gv| 亚洲精品又粗又大又爽A片| 亚洲色大成网站WWW国产| 亚洲一久久久久久久久| 亚洲日本一线产区和二线 | 亚洲jjzzjjzz在线观看| 亚洲一区二区三区在线网站| 国产99在线|亚洲| 亚洲一线产区二线产区区| 亚洲一区二区三区国产精华液| 最新亚洲春色Av无码专区| 亚洲日韩一中文字暮| 亚洲av色香蕉一区二区三区蜜桃| 亚洲爆乳AAA无码专区| 一本久到久久亚洲综合| 亚洲国产成人VA在线观看 | 国产成人亚洲合集青青草原精品| 亚洲av无码一区二区三区天堂古代| 亚洲人成网网址在线看| 亚洲高清中文字幕免费| 亚洲AV永久无码天堂影院| 日韩亚洲精品福利| 在线日韩日本国产亚洲| 久久久久亚洲精品成人网小说| 777亚洲精品乱码久久久久久| 亚洲成av人片不卡无码| 中文日韩亚洲欧美制服| 亚洲av日韩av永久在线观看| 亚洲精品动漫人成3d在线| 亚洲精品国偷自产在线| 亚洲国语精品自产拍在线观看| 亚洲天堂电影在线观看| 蜜桃传媒一区二区亚洲AV| 亚洲精品综合久久|