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

ES之API系列--index template(索引模板)的用法(有实例)

原文网址:ES之API系列--index template(索引模板)的用法(有实例)_IT利刃出鞘的博客-CSDN博客

简介

说明

本文介绍ElasticSearch的index template(索引模板)的用法(有实例)。

官网网址

https://www.elastic.co/guide/en/elasticsearch/reference/8.0/index-templates.html

索引模板的作用

作用概述

        在新建索引时,如果索引名字与索引模板的通配符匹配,那么就使用索引模板的设置(_setting、_mapping等)。

  • 模板仅在索引创建时才会生效,而且修改模板不会影响现有的索引。
  • 可以指定"priority"的数值,如果新建的索引匹配到了多个模板,则使用priority最高的那个(priority值最小)。
    • 7.8之前的版本是"order"字段。会对匹配到的多个模板进行合并,如果一个字段在多个模板中,则取order比较小(优先级高)的那个。

应用场景

  1. 为将来的动态映射的索引进行限制
    1. 例如:有多个系统写入日志索引,每天生成一个新索引,采用动态映射的方式。原先系统的时间是yyyy-MM-dd HH:mm:ss,创建索引后动态映射的日期格式为:“"format":"strict_date_optional_time||epoch_millis||yyyy-MM-dd HH:mm:ss"”,新系统以yyyy-MM-dd HH:mm:ss.SSS格式写进去时会报错。
    2. 解决方案:直接将该日期字段改为:"format": "strict_date_optional_time||epoch_millis||yyyy-MM-dd HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS"。创建索引时会支持新格式。
  2. 为创建索引提供便利
    1. 例如:可以在模板设置好number_of_shards,number_of_replicas,创建索引时就自动使用模板的配置,不需要再设置了。

版本的区别

7.8之后的命令是:_index_template

7.8之前的命令是:_template

用法完全一样。本文介绍7.8及之后的命令。

创建与更新索引模板

创建和更新的命令是一样的。如果不存在则创建,如果存在则更新。

简洁方法(_index_template)

PUT _index_template/template1
{"index_patterns": ["te*", "bar*"],"template": {"settings": {"number_of_shards": 1},"mappings": {"_source": {"enabled": false},"properties": {"host_name": {"type": "keyword"},"created_at": {"type": "date","format": "yyyy-MM-dd HH:mm:ss.SSS"}}},"aliases": {"mydata": { }}},"priority": 10,"version": 3,"_meta": {"description": "my custom"}
}

上边这个模板设置了index_patterns 为 te* 和bar*意思就是:te或bar开头的索引在创建时都会使用这个模板。

复杂方法(_index_template+_component_template)

PUT _component_template/component_template1
{"template": {"mappings": {"properties": {"@timestamp": {"type": "date"}}}}
}PUT _component_template/other_component_template
{"template": {"mappings": {"properties": {"ip_address": {"type": "ip"}}}}
}PUT _index_template/template_1
{"index_patterns": ["te*", "bar*"],"template": {"settings": {"number_of_shards": 1},"mappings": {"_source": {"enabled": false},"properties": {"host_name": {"type": "keyword"},"created_at": {"type": "date","format": "yyyy-MM-dd HH:mm:ss.SSS"}}},"aliases": {"mydata": { }}},"priority": 10,"composed_of": ["component_template1", "other_component_template"],"version": 3,"_meta": {"description": "my custom"}
}

index_template 创建时,如果它包含的 component_template与component_template 或 component_template与index_template 中properties存在重复的属性,则index_template创建会报错。

查看索引模板

查看所有索引模板

GET _index_template

示例 

查看单个索引模板

GET _index_template/template_name

示例

查看多个索引模板(通配符)

GET _index_template/template_pattern

示例

查看组件模板

GET _component_template/component_template_name

删除索引模板

删除索引模板

DELETE _index_template/template_name

删除组件模板

DELETE _component_template/component_template_name

日期检测与数字检测

概述

        如果某个字段没有设置映射,那么在新建文档时,会自动根据字段来生成映射,比如:日期和数字。

示例

  • 如果日期字段符合“yyyy-MM-dd HH:mm:ss.SSS"格式,就自动将该字段的type设置为date类型,并且format会包含“yyyy-MM-dd HH:mm:ss.SSS”这种格式。
  • 如果字段是个数字,则自动将该字段的type设置为Long之类的类型。

配置方法

默认这种类型检测是开启的,配置方法如下:

PUT _index_template/template_name
{"index_patterns": ["test*"],"priority": 1,"settings": {"number_of_shards": 1,"number_of_replicas": 2},"mappings": {"date_detection": false,"numeric_detection": true}
}

相关文章:

ES之API系列--index template(索引模板)的用法(有实例)

原文网址:ES之API系列--index template(索引模板)的用法(有实例)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍ElasticSearch的index template(索引模板)的用法(有实例)。 官网网址 https://www.elastic.co/guide/en/elasticsearch/reference/8.0/index-temp…...

electron+vue3全家桶+vite项目搭建【28】封装窗口工具类【2】窗口组,维护窗口关系

文章目录 引入实现效果思路主进程模块渲染进程模块测试效果 引入 demo项目地址 窗口工具类系列文章: 封装窗口工具类【1】雏形 封装窗口工具类【2】窗口组,维护窗口关系 封装窗口工具类【3】控制窗口定向移动 我们思考一下窗口间的关系,窗…...

docker安装ES和kibana

文章目录 一、安装Elasticsearch1. 安装Elasticsearch2. 安装IK分词器3. elasticsearch-head 监控的插件4. 配置跨域 二、安装kibana 提示:以下是本篇文章正文内容,下面案例可供参考 一、安装Elasticsearch 1. 安装Elasticsearch 安装Elasticsearch参…...

uniapp微信小程序获取当前位置

uni-app微信小程序uni.getLocation获取位置;authorize scope.userLocation需要在app.json中声明permission;小程序用户拒绝授权后重新授权-CSDN博客...

HarmonyOS创建项目和应用—设置数据处理位置

项目和应用介绍 关于项目 项目是资源、应用的组织实体。资源包括服务器、数据库、存储,以及您的应用、终端用户的数据等。在您使用部分服务时,您是数据的控制者,数据将按照您设置的数据处理位置来存储在指定区域。 通常,您不需…...

3.1_2024ctf青少年比赛部分web题

php后门 根据x-powered-by知道php的版本 该版本存在漏洞: PHP 8.1.0-dev 开发版本后门 根据报错信息,进行提示,前 GET / HTTP/1.1 Host: challenge.qsnctf.com:31639 User-Agentt:12345678system(cat /flag);var_dump(2*3);zerodium12345678…...

Vue3:OptionsAPI 与 CompositionAPI的比较

1、Vue2 Vue2的API设计是Options(配置)风格的。 Options API 的弊端 Options类型的 API,数据、方法、计算属性等,是分散在:data、methods、computed中的,若想新增或者修改一个需求,就需要分别…...

Rust! 无VDom! 尤雨溪解析 Vue.js 2024 新特性

视频号搜索“云前端”观看视频版 在 VueJS Amsterdam 2024 大会首日,Vue 创始人 Evan You 进行了开场主旨演讲。他首先回顾了 Vue 十年以来的累累硕果,指出 VueJS 从一个视图层工具,成功演化出全流程的社区生态。 Vue 3.4 谈到 Vue 3 的发展时…...

Windows上websocket客户端连接定时存储消息到文件并加载文件定时发送服务端工具实现

场景 在业务开发中,需要对接三方websocket协议数据或者连接并存储线上websocket协议数据,需要使用websocket客户端 连接线上的websocket服务端获取并存储数据,然后将数据存储成文件格式可移植,并将数据复制 到本地,…...

【STM32+OPENMV】二维云台颜色识别及追踪

一、准备工作 有关OPENMV最大色块追踪及与STM32通信内容,详情见【STM32HAL】与OpenMV通信 有关七针OLED屏显示内容,详情见【STM32HAL】七针OLED(SSD1306)配置(SPI版) 二、所用工具 1、芯片:STM32F407ZGT6 2、CUBEMX配置软件 3、KEIL5 4…...

JavaScript基础3之面向对象关于面向过程、函数式编程、对比、构造函数、原型

JavaScript基础 面向对象面向过程函数式编程命令式编程函数式编程特性副作用透明引用不可变变量函数是一等公民 常见的函数式编程模型 面向对象为什么要使用面向对象封装继承多态 对比面向过程函数式编程面向对象 构造函数原型constructor使用场景 对象原型 面向对象 面向过程…...

运用Tensorflow进行目标检测

对象检测是一种计算机视觉技术,它使软件系统能够从给定的图像或视频中检测、定位并跟踪物体。对象检测的一个特殊属性是它能识别对象的类别(如人、桌子、椅子等)并在给定图像中指出其具体位置坐标。这个位置通常通过在物体周围绘制一个边界框…...

【源码】imx6ull实现触摸屏单点实验-移植tslib和qt

一、本实验实验的器材: 1.正点原子imx6ull的阿尔法开发板v2.2 2.屏幕ALIENTEK 4.3 RGBLCD 二、实验已经移植好的文件: 仓库代码:https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.文件说明 arm-qt.tar.bz2:移植好的…...

【JSON2WEB】07 Amis可视化设计器CRUD增删改查

总算到重点中的核心内容,CRUD也就是增删改查,一个设计科学合理的管理信息系统,95%的就是CRUD,达不到这个比例要重新考虑一下你的数据库设计了。 1 新增页面 Step 1 启动amis-editor Setp 2 新增页面 名称和路径随便命名&#xf…...

ThreeJs同一个场景多个相机的显示

在threeJs开发数字孪生中,我们正常是需要使用一个相机,画面显示的内容也就是这个相机拍摄到的内容,但是是否可以添加多个相机,可以同时从不同角度观察模型呢,实际上是可以的,不过多个相机的拍摄到的画面肯定…...

Vue基础篇

Vue Vue是一套用于构建用户界面的渐进式JavaScript框架 什么是渐进式? Vue可以自底向上逐层地应用; 当构建简单应用时, 只需一个轻量小巧的核心库; 当构建复杂应用时, 可以引入各式各样的Vue插件 Vue具有以下特点: 采用组件化模式, 提高代码复用率且让代码更好维护 声明式编…...

计算机视觉基础知识(十六)--图像识别

图像识别 信息时代的一门重要技术;目的是让计算机代替人类处理大量的物理信息;随着计算机技术的发展,人类对图像识别技术的认识越来越深刻;图像识别技术利用计算机对图像进行处理\分析\理解,识别不同模式的目标和对象;过程分为信息的获取\预处理\特征抽取和选择\分类器设计\分…...

数仓开发-2023/2/29

1.简单自我介绍 2.介绍下之前的公司离线数仓项目 3.sql和hivesql区别? 4.sql的执行顺序? 5.hive的优化 6.说下你之前公司来,你的技能层次在每个公司?你怎么评价你的技能? 7.你的之前业务主要是做什么?我说了…...

ipv6过渡技术-IPv4 over IPv6隧道示例

实验拓扑如下: 环境概述: PC1和PC2与路由器之间为IPv4网络。两台路由器之间为IPv6网络,通过配置,要求是PC1与PC2能互通。即使IPv4可以在IPv6网络中通信。 配置方法: AR1: # ipv6 # interface Gigabi…...

SpringBoot约定大于配置

什么是约定大于配置 "约定大于配置"(Convention Over Configuration)是一种理念,旨在通过默认约定和规则来减少开发人员需要做的配置工作。在Spring Boot框架中,这一原则得到了充分应用,帮助开发者更快地构…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...