【Elasticsearch】_rollover API详解

devtools/2025/2/4 11:46:23/

解释 POST logs-foo-bar/_rollover

在Elasticsearch中,POST logs-foo-bar/_rollover 是一个API调用,用于触发索引的滚动操作。滚动操作允许您在索引达到一定大小或时间限制时,自动将写入操作切换到一个新的索引,同时保留旧索引的数据。这个操作通常用于管理时间序列数据,例如日志数据,以避免单个索引变得过大。

滚动操作的工作原理
  1. 创建索引模板

    • 首先,您需要创建一个索引模板,定义新索引的结构和设置。

    JSON复制

    PUT _index_template/my_template
    {"index_patterns": ["logs-foo-bar-*"],"template": {"settings": {"number_of_shards": 2,"number_of_replicas": 1}}
    }
  2. 创建初始索引并设置别名

    • 创建一个初始索引,并为其设置一个写入别名。

    JSON复制

    PUT logs-foo-bar-000001
    {"aliases": {"logs-foo-bar-write": {"is_write_index": true}}
    }
  3. 触发滚动操作

    • 使用 _rollover API 触发滚动操作。您可以指定滚动的条件,例如索引中的文档数量、索引的大小或索引的年龄。

    JSON复制

    POST logs-foo-bar-write/_rollover
    {"conditions": {"max_docs": 1000000,"max_size": "50gb","max_age": "30d"}
    }
    • 如果当前索引满足滚动条件,Elasticsearch将创建一个新的索引,并将写入别名指向新索引。

  4. 验证滚动结果

    • 您可以通过查询别名来验证滚动操作是否成功。

    JSON复制

    GET logs-foo-bar-write
注意事项
  • 滚动条件

    • max_docs:索引中的最大文档数量。

    • max_size:索引的最大大小。

    • max_age:索引的最大年龄。

    • max_primary_shard_size:主分片的最大大小。

    • max_num_segments:索引的最大段数。

    • min_index_age:索引的最小年龄。

    • min_doc_count:索引中的最小文档数量。

  • 别名管理

    • 写入别名(is_write_index)决定了滚动后旧索引是否仍然可写。如果未配置,旧索引将不可写;如果配置为 true,旧索引将变为只读。

  • 自动化

    • 您可以通过 _rollover API 手动触发滚动操作,也可以使用索引生命周期管理(ILM)来自动化滚动操作。

通过使用 POST logs-foo-bar/_rollover,您可以有效地管理Elasticsearch中的索引,确保数据的可扩展性和查询性能。


http://www.ppmy.cn/devtools/155989.html

相关文章

无人机红外热成像:应急消防的“透视眼”

无人机红外热成像:应急消防的“透视眼” 亲爱的小伙伴们,每年一到夏天,应急消防的战士们就像上紧了发条的闹钟,时刻准备应对各种灾害。炎热天气让火灾隐患“蹭蹭”往上涨,南北各地还有防洪救灾、台风、泥石流等灾害轮…

【Three.js+React】教程002:添加lil-gui控制器和加载GLTF模型

文章目录 添加lil-gui加载gltf模型添加lil-gui 安装lil-gui: npm install lil-gui实现代码: function RotatingBox() {const meshRef = useRef();

半导体器件与物理篇7 微波二极管、量子效应和热电子器件

基本微波技术 微波频率:微波频率涵盖约从0.1GHz到3000GHz,相当于波长从300cm到0.01cm。 分布效应:电子部件在微波频率,与其在较低频率的工作行为不同。 输运线:一个由电阻、电容、电感三种等效基本电路部件所组成的…

4.[ISITDTU 2019]EasyPHP

进入题目页面如下 给出PHP源码进行代码审计 <?php // 高亮显示当前文件的源代码 highlight_file(__FILE__);// 从 GET 请求中获取名为 _ 的参数&#xff0c;并将其赋值给变量 $_ // 符号用于抑制可能出现的错误信息 $_ $_GET[_];// 使用正则表达式对 $_ 变量的值进行匹配…

蓝桥杯python语言基础(1)——编程基础

目录 一、python开发环境 二、python输入输出 &#xff08;1&#xff09;print输出函数 print(*object&#xff0c;sep,end\n,......) &#xff08;2&#xff09;input输入函数 input([prompt]), 输入的变量均为str字符串类型&#xff01; input()会读入一整行的信息 ​编…

Go 中 defer 的机制

文章目录 Go 语言中 defer 的底层机制与实战解析一、defer 的执行顺序&#xff1a;后进先出&#xff08;LIFO&#xff09;示例 &#xff1a;多个 defer 的执行顺序 二、defer 的参数预计算&#xff1a;值拷贝的陷阱示例 &#xff1a;参数预计算的影响 三、defer 与闭包&#xf…

CMD模块

概述 CMD&#xff08;Common Module Definition) 是国内大牛玉伯在开发 SeaJS 的时候提出来的&#xff0c;属于 CommonJS 的一种规范&#xff0c;根据浏览器的异步环境做了自己的实现。它和 AMD 很相似&#xff0c;尽量保持简单&#xff0c;并与 CommonJS 和 Node.js 的 Modul…

解决注入线程池的栈溢出问题

文章目录 1.问题产生2.问题解决 1.问题产生 在使用sleuth的时候&#xff0c;需要注入线程池&#xff0c;他才会自动包装&#xff0c;实现traceId的传递&#xff0c;但是突然启动时出现了栈溢出的问题 2.问题解决 根据报错&#xff0c;发现是Gson序列化相关的问题&#xff0c…