当前位置: 首页 > news >正文

ElasticSearch备考 -- index rollover

一、题目

给索引my-index-000001,创建别名my-index,并设置rollover,满足以下三个条件的

  • The index was created 7 or more days ago.
  • The index contains 5 or more documents.
  • The index’s largest primary shard is 1GB or larger.

二、思考

这里有几个注意点

  • rollover 需要基于别名创建,所以要先创建别名;
  • 别名要求是可以支持数据写入;

三、解题

Step 1、创建索引并指定别名和可写入

PUT /my-index-000001
{"aliases": {"my-index": {"is_write_index": true}}
}

Step 2、创建rollover

注意:conditions里配置的条件,条件之间是或的关系,也就是说满足任意一条就会被执行rollover


POST my-alias/_rollover
{"conditions": {"max_age": "7d","max_docs": 5,"max_primary_shard_size": "1gb"}
}

通过执行结果可以看出,如果rollover生效后的新索引名称是 my-index-000002

Step 3、通过别名导入5条数据

注意:my-index是别名,而非索引名称

POST my-index/_bulk
{"create":{"_id":1}}
{"a":"key","b":"mom","c":"mom","d":"mom","e":"mom"}
{"create":{"_id":2}}
{"a":"key","b":"cake mix","c":"mom","d":"tom","e":"1"}
{"create":{"_id":3}}
{"a":"key","b":"mom","c":"cake mix","d":"kate","e":"2"}
{"create":{"_id":4}}
{"a":"cake mix","b":"mom","c":"mom","d":"alex","e":"3"}
{"create":{"_id":5}}
{"a":"cake m","b":"mom","c":"mom","d":"alex","e":"3"}

Step 4、通过别名再导入第6条数据

indices.lifecycle.poll_interval:代表索引生命周期管理检查符合 policy 策略标准的索引的频率,是检查是否满足 rollover 的周期频率值,默认 10 分钟。为了加快验证看到效果,可以设置的短一点

PUT cluster/_settings
{"persistent": {"indices.lifecycle.poll_interval": "ls"}
}

 更新完集群索引刷新频率后,插入第6条数据进行验证是否可以写入到新的索引

POST my-index/_bulk
{"create":{"_id":6}}
{"a":"k555","b":"mom","c":"mom","d":"mom","e":"mom"}

从执行结果上可以看到已经切换到新的索引 my-index-000002

四、总结

  • rollover 需要基于别名创建,所以要先创建别名,别名要求是可以支持数据写入
  • rollover 配置的条件,条件间都是或的逻辑
  • 数据的写入也要基于别名
  • 通过修改集群索引周期刷新频率可以快速验证 indices.lifecycle.poll_interval

参考资料

  • Rollover | Elasticsearch Guide [8.1] | Elastic
  • Rollover API | Elasticsearch Guide [8.15] | Elastic

送一波福利:

福利一

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

福利二

福利三


http://www.mrgr.cn/news/59683.html

相关文章:

  • Vue 3.3 新增宏函数:`defineOptions` 和 `defineSlots` 简介
  • C++从入门到起飞之——红黑树封装map和set 全方位剖析!
  • Spring 全家桶版本更新
  • 自动化部署-02-jenkins部署微服务
  • 第二十七节 图像的卷积操作
  • ELK之路第一步——Elasticsearch集群的搭建以及踩坑记录
  • JAVA模仿银行系统要求
  • redis内存打满了怎么办?
  • vscode开发项目常用插件
  • C++11新特性(列表初始化与右值引用折叠与完美转发)
  • #【2024年10月26日更新】植物大战僵尸杂交本V2.6更新内容与下载
  • Python毕业设计选题:基于Django+Vue的图书馆管理系统
  • Docker 实践与应用举例教程:从入门到精通
  • python实现放烟花效果庆祝元旦
  • 若依框架部署到服务器后头像资源访问404
  • 生产环境直接热编译
  • 近似线性可分支持向量机 代码实现
  • 使用代理服务器后sse数据合并问题
  • C++的继承和多态
  • 基于用户体验的在线相册管理平台创新设计与实现
  • Linux日志分析-应急响应实战笔记
  • CSS中为特定的元素设置背景图片(Top1,Top1,Top3)
  • 记一次内存溢出排查(dump文件)
  • RHCE nfs作业
  • C++11实践指北
  • OpsAny社区版与专业版的主要区别是什么