乐途乐途
主页
  • 计算机基础

    • TCP/IP
    • Linux
    • HTTP
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C
    • C++
    • Java SE
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • Maven 入门
    • Maven 进阶
    • MyBatis
    • Spring
    • Spring MVC
  • Java

    • Spring Boot
    • Spring Cloud
    • Spring Cloud Alibaba
    • Spring Security
    • Spring AI
    • Spring Batch
    • Kafka
    • Java 设计模式
  • 缓存

    • Redis
  • 搜索引擎

    • Elasticsearch
  • 分布式协调

    • ZooKeeper
联系
阿里云
主页
  • 计算机基础

    • TCP/IP
    • Linux
    • HTTP
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C
    • C++
    • Java SE
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • Maven 入门
    • Maven 进阶
    • MyBatis
    • Spring
    • Spring MVC
  • Java

    • Spring Boot
    • Spring Cloud
    • Spring Cloud Alibaba
    • Spring Security
    • Spring AI
    • Spring Batch
    • Kafka
    • Java 设计模式
  • 缓存

    • Redis
  • 搜索引擎

    • Elasticsearch
  • 分布式协调

    • ZooKeeper
联系
阿里云
  • 学习路径
  • 全文搜索与Elasticsearch概述

    • 全文搜索与搜索引擎概述
    • Elasticsearch 与 Lucene 的关系
    • Elasticsearch 核心架构
  • 安装与快速上手

    • 安装 Elasticsearch
    • 快速上手
  • 索引、文档与映射

    • 索引
    • 文档与 CRUD
    • 元数据字段
    • 字段映射
    • 动态映射
    • Reindex 操作
  • 文本分析与分词

    • 倒排索引的构建与原理
    • 分词器组成
    • IK 分词器与自定义词典
    • 近实时搜索原理
    • Ingest Pipeline 数据预处理
  • 搜索基础(Query DSL)

    • match 查询
    • multi_match 多字段查询
    • match_phrase 短语匹配
    • term 与 terms 查询
    • range 范围查询
    • bool 查询
    • 高亮显示与分页
    • 深度分页与遍历
  • 相关性评分与排序

    • BM25 相关性评分
    • 排序与自定义评分
    • Painless 脚本基础
  • 聚合分析(Aggregations)

    • 指标聚合
    • 桶聚合
    • 管道聚合
  • 分布式集群原理

    • 节点与角色
    • 分片与副本
    • 路由
    • 选举与脑裂
    • 快照与恢复
  • 数据建模与最佳实践

    • 索引设计原则与模板
    • 嵌套对象与父子文档
  • 性能优化与运维监控

    • 写入性能优化
    • 搜索性能优化
    • ILM 索引生命周期管理
    • 集群监控与故障排查
  • 面试考点与实战场景

    • 实战案例:课程搜索引擎
    • Elasticsearch 面试考点精选

ILM 索引生命周期管理

本章定位:ILM(Index Lifecycle Management)自动管理索引从创建到删除的全生命周期。是生产环境日志/指标系统的标配能力。


定义与作用

ILM 定义了索引在 Hot(热)、Warm(温)、Cold(冷)、Delete(删除)四个阶段的自动流转规则。每个阶段可以执行不同的 Actions(如 Rollover、Shrink、Force Merge、Delete)。


完整示例:李眉的日志 ILM

PUT /_ilm/policy/feixiang_logs_policy
{
  "policy": {
    "phases": {
      "hot": {
        "min_age": "0ms",
        "actions": {
          "rollover": { "max_primary_shard_size": "50gb", "max_age": "1d" },
          "set_priority": { "priority": 100 }
        }
      },
      "warm": {
        "min_age": "3d",
        "actions": {
          "forcemerge": { "max_num_segments": 1 },
          "shrink": { "number_of_shards": 1 },
          "allocate": { "number_of_replicas": 0, "require": { "data": "warm" } }
        }
      },
      "cold": {
        "min_age": "15d",
        "actions": { "allocate": { "number_of_replicas": 0, "require": { "data": "cold" } } }
      },
      "delete": {
        "min_age": "30d",
        "actions": { "delete": {} }
      }
    }
  }
}

关联索引模板

PUT /_index_template/feixiang_logs_template
{
  "index_patterns": ["logs-*"],
  "template": {
    "settings": {
      "index.lifecycle.name": "feixiang_logs_policy",
      "index.lifecycle.rollover_alias": "logs-write"
    }
  }
}

小结

ILM 四阶段:Hot(Rollover)→ Warm(Force Merge + Shrink)→ Cold(Freeze)→ Delete。注意 Rollover 条件是 OR 关系、Shrink 需 Green 状态、min_age 以创建时间计。

上一页
搜索性能优化
下一页
集群监控与故障排查