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

【Elasticsearch】_rollover API详解

解释 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.kler.cn/a/523357.html

相关文章:

  • Kiwi 安卓浏览器本月停止维护,扩展功能迁移至 Edge Canary
  • 论文阅读(十四):贝叶斯网络在全基因组DNA甲基化研究中的应用
  • QT 通过ODBC连接数据库的好方法:
  • three.js用粒子使用canvas生成的中文字符位图材质
  • 模糊综合评价
  • MongoDB 数据库备份和恢复全攻略
  • Linux 阻塞IO
  • Spring Security(maven项目) 3.0.2.9版本
  • 【Rust自学】16.2. 使用消息传递来跨线程传递数据
  • 苹果AI最新动态:Siri改造和AI模型优化成2025年首要任务
  • 记录 | 基于Docker Desktop的MaxKB安装
  • 从 Web3 游戏融资热看行业未来发展趋势
  • C语言实现统计数组正负元素相关数据
  • Leecode刷题C语言之跳跃游戏②
  • 【信息系统项目管理师-选择真题】2008上半年综合知识答案和详解
  • 数据分析系列--③RapidMiner算子说明及数据预处理
  • C++:PTA L2-003 月饼
  • 新时代架构SpringBoot+Vue的理解(含axios/ajax)
  • 知识体系、知识管理角度的赚钱思考
  • NeetCode刷题第17天(2025.1.27)
  • 使用 Julia Distributions.jl 进行概率分布处理
  • [论文阅读] (37)CCS21 DeepAID:基于深度学习的异常检测(解释)
  • 论文阅读(十五):DNA甲基化水平分析的潜变量模型
  • 项目集成Nacos
  • 关于bash内建echo输出多行文本
  • DeepSeek理解概率的能力