带你读《Elastic Stack 实战手册》之28:——3.4.2.13.Rollover API(2)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之28:——3.4.2.13.Rollover API(2)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.13.Rollover API(1) https://developer.aliyun.com/article/1230209



Rollover的分类

 

依据不同rollover target和别名情况,可以简单的分为三种执行情况:

 

别名只绑定一个索引

 

rollover target为别名,且别名和索引一对一关系;滚动请求过程如下:

 

1、创建一个新索引

2、给新索引添加别名

3、将别名与之前绑定索引的关联关系移除

 

别名绑定多个索引

    526         >   三、产品能力

 

rollover target为别名,且与多个索引建立了绑定关系,只有其中一组的绑定关系is_write_index的值为true(如果对is_write_index有疑问,请参看索引别名小节)。在这种情况下,滚动请求过程如下:

 

1、创建一个新索引

2、新索引于别名的绑定时,将is_write_index设置为true

3、修改别名与旧索引的绑定关系,将is_write_index设置为false

 

rollover-target 为数据流

 

rollover target为数据流,滚动请求过程如下:

 

1、创建一个新索引

2、在数据流上添加新索引作为备份索引和写索引

3、增加数据流的generation属性

 

实战示例

 

基础示例

 

别名与索引是一对一关系,执行 _rollover 之后,别名将关联到新的索引


PUT /logs-1  #备注1
{
  "aliases": {
    "logs_write": {}
  }
}
# Add > 2 documents to logs-1
PUT logs-1/_bulk
{"index":{}}
{"user.id":"kimchy"}
{"index":{}}
{"user.id":"tom"}
POST /logs_write/_rollover  #备注2
{
  "conditions": {
    "max_age":   "7d",
    "max_docs":  2,
    "max_size":  "5gb"
  }
}

创建索引logs-1且与别名logs_write绑定

 

logs_write指向的索引满足条件集中的任何一个条件(索引“年龄值”>=7天或者主分片文档数目>=2或者主分片 size>=5gb)logs-000002将会被创建,且别名logs_write将更新绑定到logs-000002

 

如上代码块 Rollover API 返回值如下:

 

{
  "acknowledged": true,
  "shards_acknowledged": true,
  "old_index": "logs-1",
  "new_index": "logs-000002",
  "rolled_over": true, #索引是否执行了滚动
  "dry_run": false, # 是否为 dry_run 模式
  "conditions": {  # 条件集触发结果
    "[max_age: 7d]": false,
    "[max_docs: 2]": true,
    "[max_size: 5gb]": false,
  }
}

通过查看索引与别名的绑定关系,可以看到logs_write只绑定logs-000002

 

# 查看命令
GET _cat/aliases/logs_write?v
#返回值如下
alias      index       filter routing.index routing.search is_write_index
logs_write logs-000002 -      -      


《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.13.Rollover API(3) https://developer.aliyun.com/article/1230207

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
2月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 6 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
2月前
|
JSON API 开发者
产品列表获取API接口详解
本文详解如何设计与调用产品列表获取API接口,涵盖核心概念、实现步骤、Python代码示例及最佳实践,助你高效构建数据驱动应用。
117 0
|
5月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
|
6月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态
|
2月前
|
API
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
2月前
|
存储 JSON Prometheus
产品图片上传API接口
产品图片上传API是电商、内容管理系统等常用功能,支持通过HTTP请求上传图片至服务器,便于产品图像管理。本文详解其工作原理、实现步骤与最佳实践,助您快速构建高效上传功能。
199 0
|
2月前
|
XML API 开发者
产品评论获取API接口
在电商与数据分析中,产品评论是重要用户反馈。本文介绍如何通过API接口自动化高效获取评论,涵盖核心概念、实现步骤及Python示例,助您快速构建数据采集流程,提升分析效率与决策能力。
53 0
|
2月前
|
安全 测试技术 API
产品下架与删除API接口
本文介绍电子商务系统中产品下架与删除API的设计与实现,涵盖安全性、数据一致性、错误处理及性能优化要点。通过Python与Flask的示例代码,指导开发者构建高效、可靠的产品管理接口,并提供最佳实践建议,如权限控制、日志记录和接口文档化,助力系统自动化与业务灵活响应市场变化。
46 0