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

本文深入探讨了Elasticsearch中的滚动索引API,解释了如何在索引过大或过老时,通过滚动索引API将别名指向新的索引。讨论了不同场景下索引滚动的实现方式,包括别名指向单个或多个索引的情况,以及如何通过条件列表触发索引滚动。文章还介绍了新索引的命名规则、设置方法,以及API支持的dry_run和wait_for_active_shards等特性。

滚动索引

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值