【Elasticsearch】 索引模板 ignore_missing_component_templates

news2025/1/29 20:55:00

解释 ignore_missing_component_templates 配置

在Elasticsearch中,ignore_missing_component_templates 是一个配置选项,用于处理索引模板中引用的组件模板可能不存在的情况。当您创建一个索引模板时,可以指定一个或多个组件模板,这些组件模板将用于构建最终的索引配置。如果某个组件模板不存在,Elasticsearch通常会报错。但是,通过设置 ignore_missing_component_templates,您可以告诉Elasticsearch忽略这些不存在的组件模板,而不是报错。

使用场景

假设您有一个索引模板,它引用了一个可能不存在的组件模板 logs-foo_component2。在创建索引模板时,您可以设置 ignore_missing_component_templates 来忽略这个组件模板的存在性检查。

示例

JSON复制

PUT _index_template/my_template
{
  "index_patterns": ["my_index*"],
  "template": {
    "settings": {
      "number_of_shards": 2,
      "number_of_replicas": 1
    }
  },
  "composed_of": ["logs-foo_component1", "logs-foo_component2"],
  "ignore_missing_component_templates": ["logs-foo_component2"]
}

在这个例子中,logs-foo_component2 可能不存在,但通过设置 ignore_missing_component_templates,Elasticsearch将忽略这个组件模板的存在性检查,而不会报错。

注意事项
  • 默认行为:如果没有设置 ignore_missing_component_templates,Elasticsearch会在创建索引时检查所有引用的组件模板是否存在。如果某个组件模板不存在,将报错。

  • 适用场景:这个配置选项适用于那些可能动态创建或删除组件模板的场景,例如在多环境部署中,某些组件模板可能只在特定环境中存在。

通过使用 ignore_missing_component_templates,您可以更灵活地管理索引模板和组件模板,避免因组件模板不存在而导致的错误。

`ignore_missing_component_templates` 是 **Elasticsearch 索引模板 API** 中的一个属性,具体用于 **可组合索引模板(Composable Index Templates)** 中。它的作用是控制当索引模板引用的组件模板(Component Templates)不存在时,Elasticsearch 的行为。

---

## 1. **`ignore_missing_component_templates` 的作用**

在定义可组合索引模板时,可以通过 `composed_of` 字段引用一个或多个组件模板。如果某个被引用的组件模板不存在,默认情况下 Elasticsearch 会抛出错误。

通过设置 `ignore_missing_component_templates` 属性,可以忽略缺失的组件模板,避免抛出错误。这在某些场景下非常有用,例如:
- 组件模板可能稍后才创建。
- 某些组件模板是可选的,不影响索引模板的核心功能。

---

## 2. **使用场景**

假设你有一个索引模板,它引用了两个组件模板:
- `component-template-1`:必须存在。
- `component-template-2`:可选,即使不存在也不影响索引模板的功能。

你可以通过 `ignore_missing_component_templates` 属性忽略 `component-template-2` 的缺失。

---

## 3. **API 示例**

以下是一个使用 `ignore_missing_component_templates` 的索引模板 API 示例:

```json
PUT /_index_template/my-template
{
  "index_patterns": ["my-*"],
  "composed_of": ["component-template-1", "component-template-2"],
  "ignore_missing_component_templates": ["component-template-2"],  // 忽略缺失的组件模板
  "template": {
    "settings": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    }
  }
}
```

### 参数说明:
- **`composed_of`**:引用的组件模板列表。
- **`ignore_missing_component_templates`**:指定需要忽略的组件模板名称列表。如果这些组件模板不存在,Elasticsearch 不会抛出错误。

---

## 4. **注意事项**

- **默认行为**:如果不设置 `ignore_missing_component_templates`,且引用的组件模板不存在,Elasticsearch 会抛出错误。
- **部分忽略**:可以只忽略部分组件模板,而不是全部。例如:
  ```json
  "ignore_missing_component_templates": ["component-template-2"]
  ```
  表示只忽略 `component-template-2` 的缺失,如果 `component-template-1` 不存在,仍然会抛出错误。
- **优先级**:索引模板本身的设置(如 `template` 中的 `settings` 和 `mappings`)优先于组件模板的设置。

---

## 5. **总结**

- `ignore_missing_component_templates` 是 **索引模板 API** 中的一个属性,用于控制是否忽略缺失的组件模板。
- 它适用于 **可组合索引模板**,允许你在组件模板不存在时继续创建索引模板。
- 通过合理使用该属性,可以提高索引模板的灵活性和容错性。

如果你有更多关于 Elasticsearch 的问题,欢迎继续提问!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2285111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI DeepSeek

DeepSeek 文字解析 上传图片解析 视乎结果出入很大啊,或许我们应该描述更加清楚自己的需求。

QT使用eigen

QT使用eigen 1. 下载eigen https://eigen.tuxfamily.org/index.php?titleMain_Page#Download 下载后解压 2. QT引入eigen eigen源码好像只有头文件,因此只需要引入头文件就好了 qt新建项目后。修改pro文件. INCLUDEPATH E:\222078\qt\eigen-3.4.0\eigen-3.…

mysql学习笔记-数据库其他调优策略

1、如何定位调优问题 用户的反馈(主要) 日志分析(主要) 服务器资源使用监控 数据库内部状况监控 2、调优的维度和步骤 第1步:选择适合的 DBMS 第2步:优化表设计 第3步:优化逻辑查询 第4步&am…

HTB:Forest[WriteUP]

连接至HTB服务器并启动靶机 分配IP:10.10.16.21 靶机IP:10.10.10.161 靶机Domain:forest.htb 目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端…

物业软件推动物业行业数字化转型 实现高效管理和优质客户体验

内容概要 在当今高速发展的数字化时代,物业软件的出现不仅使物业管理变得更加高效,也为行业转型提供了强大的支持。通过整合多种功能,物业软件显著提升了管理效率和客户体验。例如,在线收费和停车管理功能,让业主享受…

GO 库与框架篇

1. 需要重点掌握的库和框架? 输入输出: io,ioutil,fmt,bufio 字符处理: strings,bytes,strconv,regex,unicode,json 日期: 定时器-time.Tick,延时器-time.After/time.AfterFunc 数据库: database/sql 单元测试: testing 非类型安全操作: unsafe 同步:sync-同步操作,atomic-原子…

24-25出差交流体会-25-01-28

简洁版 如果发现自己走下坡路,工资下降等,如何办? (环境因素等不在此文讨论范围,个人无法改变大环境。) 多思考,是否是自身已经具备的能力在新模式下大幅贬值。 出路只有一条,提升自…

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后,会在Windows系统中虚拟出两个虚拟网卡,如下: VMware提供了三种网络模式,分别是:桥接模式(Bridged)、NAT…

SOME/IP--协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1 Speci…

JWT实现单点登录

文章目录 JWT实现单点登录JWT 简介存在问题及解决方案登录流程后端程序实现前端保存Tokenstore存放信息的缺点及解决 校验流程:为gateway增加登录校验拦截器 另一种单点登录方法:Token+Redis实现单点登录 JWT实现单点登录 登录流程&#xff…

使用Avalonia UI实现DataGrid

1.Avalonia中的DataGrid的使用 DataGrid 是客户端 UI 中一个非常重要的控件。在 Avalonia 中,DataGrid 是一个独立的包 Avalonia.Controls.DataGrid,因此需要单独通过 NuGet 安装。接下来,将介绍如何安装和使用 DataGrid 控件。 2.安装 Dat…

特权模式docker逃逸

目录 1.环境 2.上线哥斯拉 3.特权模式逃逸 1.判断是否为docker环境 2.判断是否为特权模式 3.挂载宿主机磁盘到docker 4.计划任务反弹shell 1.环境 ubuntu部署一个存在CVE-2017-12615的docker: (ip:192.168.117.147) kali(ip:192.168.117.128) 哥斯拉 2.上线哥斯拉…

Ollama+DeepSeek本地大模型部署

1、Ollama 官网:https://ollama.com/ Ollama可以干什么? 可以快速在本地部署和管理各种大语言模型,操作命令和dokcer类似。 mac安装ollama: # 安装ollama brew install ollama# 启动ollama服务(默认11434端口&#xf…

公司的税收日期的确定(OBCK)

本文主要介绍在S4 HANA OP中S4 HANA公司的税收日期的确定(OBCK)相关设置。具体请参照如下内容: 如果税率是基于日期的,那么以上配置点用来确定基于什么日期来确定最终使用的税率。 如果勾选,则代表以“凭证日期”作为税率确定的日期如果不勾…

通过高效的侦察发现关键漏洞接管整个IT基础设施

视频教程在我主页简介或专栏里 在这篇文章中, 我将深入探讨我是如何通过详细分析和利用暴露的端点、硬编码的凭据以及配置错误的访问控制,成功获取目标组织关键IT基础设施和云服务访问权限的全过程。 我们先提到目标网站的名称 https://*sub.domain*.co…

PostGIS笔记:PostgreSQL中表、键和索引的基础操作

创建、查看与删除表 在数据库中创建一个表,使用如下代码: create table streets (id serial not null primary key, name varchar(50));这里的表名是streets,id是主键所以非空,采用serial数据类型,这个数据类型会自动…

Yolo11 + OCR 营业执照识别+信息抽取(预期后续改用其他ocr更简单,推理预计使用onnxruntim加速,分c++和python两种方式部署)

目录 一 数据集制作 1 labelimg的安装与使用 2 标注方式 3 数据集制作 二 模型训练 三 使用Yolo11 + OCR 实现“营业执照”信息解析完整方案 1 cutLinesforcode.py 2 getBusinessLicenseContentPart.py 3 getPartWords.py 4 pdfTojpg.py 5 main.py 本项目可用于毕业…

Linux 学习笔记__Day2

目录 十二、上传和下载文件 十三、软件包的安装和卸载 十四、打包和压缩 1、zip命令 2、tar命令 3、其它打包压缩的命令 十五、Linux进程 1、查看进程 2、终止进程 十六、性能分析top 1、top输出结果说明 2、top常用的选项 3、top交互命令 4、demo01.cpp 5、de…

“腾讯、钉钉、飞书” 会议开源平替,免费功能强大

在数字化时代,远程办公和线上协作越来越火。然而,市面上的视频会议工具要么贵得离谱,要么功能受限,甚至还有些在数据安全和隐私保护上让人不放心。 今天开源君给大家安利一个超棒的开源项目 - Jitsi Meet,这可是我在网…

接口技术-第4次作业

目录 作业内容 解答 1、设8255A接到系统中,端口A、B、C及控制口地址分别为304H、305H、306H及307H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。 2、下图中&#x…