6.X elasticsearch实战学习笔记_索引管理05

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43707160/article/details/99970684

滚动索引

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的索引

猜你喜欢

转载自blog.csdn.net/weixin_43707160/article/details/99970684