6.X elasticsearch實戰學習筆記_索引管理05

滾動索引

ps:

  • 當現有的索引太大、太老時,rollover索引的API將別名滾動到新的索引。
  • 滾動索引API 接受單個別名、條件列表
  • 別名必須指向一個write index ,保證滾動請求有效
  • 不同實現方式,元數據用不同方式被更新

場景1

  • 別名僅指向一個索引,is_write_index不配置
  • 原始索引的別名滾動到新索引,並從原始索引中移除(滾動)

場景2

  • 別名指向多個索引,其中一個索引設置is_write_index:true,用於滾動
  • write index 將參數設置爲false,新創建索引將滾動別名指向自己,將參數設爲true

示例

  • 創建索引index-001,別名爲index_alias1
    在這裏插入圖片描述

  • 添加滾動索引,若index_alias1指向的始索引7天或7天前創建,或包含1000以上的文檔,或索引大小至少5GB,則創建index-002並更新index_alias1指向index-002
    在這裏插入圖片描述
    命名新索引

  • POST /{old_alias}/_rollover/{new_alias}

日期數學與rollover API結合使用

  • 根據索引滾動的日期來命名索引
  • rollover API支持日期數學,但要求索引名稱和短劃線和數字結尾,ex:index-0001,每次滾動索引都會遞增
  • PUT /<log-{now/d}-1 創建當天日期命名的索引

定義新索引

  • 新索引中的settings、mappings、aliases可取自任何匹配的索引模板,可在請求body中設定settings、mappings、aliases,將覆蓋模板中的原有值
    在這裏插入圖片描述在這裏插入圖片描述
    Dry run
  • rollover API支持dry_run模式,可在不執行任何實際滾動的情況下,檢查請求條件
    在這裏插入圖片描述

Wait For Active Shards

  • 滾動操作會創建一個新的索引用於滾動,索引創建時的設置 wait_for_active_shards 可適用於滾動操作

Write Index Alias Behavior

  • 滾動一個設置is_write_index:true的索引,在滾動操作期間,滾動操作不會交換這個設置
  • 滾動一個指向多個索引的別名無效

新索引、老索引、索引別名均可執行寫操作,但通過索引別名執行寫操作,實際上是寫入到is_write_index:true的索引

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章