ElasticSearch之Search Template和Index Alias

写在前面

本文看下es的search template和index alias。

1:search template

用来定义模板查询语句,运行时只需要将要查询的内容作为参数传进来即可,如下:
在这里插入图片描述
接着来测试下,首先来定义数据:

DELETE tmdb/
PUT tmdb/curl -H "Content-Type: application/json"  -XPOST "192.168.10.64:9210/tmdb/_bulk" --data-binary @javaio-appendfile1709014272558.json

javaio-appendfile1709014272558.json从这里 下载。
接着定义index template:

POST _scripts/tmdb
{"script": {"lang": "mustache","source": {"_source": ["title","overview"]},"size": 20,"query": {"multi_match": {"query": "{{q}}","fields": ["title","overview"]}}}
}

查询:

POST tmdb/_search/template
{"id": "tmdb","params": {"q": "basketball with cartoon aliens"}
}

在这里插入图片描述

2:index alias

在这里插入图片描述

用来设置索引别名,查询时使用别名,在运行时可以动态修改别名所对应的真正的索引,这样可以做到不停机的更改查询的索引。考虑这样的场景,某个数据一天创建一个索引,如果是不使用index alias的话,则每天都要更改要查询的索引。

首先来准备数据:

POST day_20200301/_bulk
{"index": {"_id": 1}}
{"f1":"aa", "f2": "bb"}
{"index": {"_id": 2}}
{"f1":"aa", "f2": "bb"}
{"index": {"_id": 3}}
{"f1":"aa", "f2": "bb", "f3": "cc"}

有3条数据,接着定义index alias:

POST _aliases
{"actions": [{"add": {"index": "day_20200301","alias": "day_data"}}]
}

查询:
在这里插入图片描述
查出3条数据,假定又过了一天到了20200302,也生成对应的索引:

POST day_20200302/_bulk
{"index": {"_id": 1}}
{"f1":"aa", "f2": "bb"}

只有一条数据,再创建别名:

POST _aliases
{"actions": [{"add": {"index": "day_20200302","alias": "day_data"}}]
}

再基于别名查询:
在这里插入图片描述
结果竟然是4条,而不是1条,这是因为一个别名可以指向多个索引,如下图:
在这里插入图片描述
当然我们可以通过remove来解除别名和某个索引的绑定,如下解除day_data和day_20200301的绑定:

POST _aliases
{"actions": [{"remove": {"index": "day_20200301","alias": "day_data"}}]
}

在执行GET day_data/_count查询就是day_20200302这天生成的1条数据了:
在这里插入图片描述

写在后面

参考文章列表

ElasticSearch之找到乔丹的空中大灌篮电影 。

Elasticsearch-Alias别名的2个核心场景 。

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

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

相关文章

了解docker与k8s

随着 k8s 作为容器编排解决方案变得越来越流行,有些人开始拿 Docker 和 k8s 进行对比,不禁问道:Docker 不香吗? k8s 是 kubernetes 的缩写,8 代表中间的八个字符。 其实 Docker 和 k8s 并非直接的竞争对手两者相互依存…

解决 MySQL 未运行但锁文件存在的问题

查看mysql状态时,显示错误信息"ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists"。 解决步骤 1、检查 MySQL 进程是否正在运行 在继续之前,我们首先需要确定 MySQL 进程是否正在运行。我们可以使用以下命令检查…

离线数仓(四)【数仓数据同步策略】

前言 今天来把数仓数据同步解决掉,前面我们已经把日志数据到 Kafka 的通道打通了。 1、实时数仓数据同步 关于实时数仓,我们的 Flink 直接去 Kafka 读取即可,我们在学习 Flink 的时候也知道 Flink 提供了 Kafka Source,所以这里不…

C语言-数据结构-顺序表

🌈个人主页: 会编辑的果子君 💫个人格言:“成为自己未来的主人~” 目录 数据结构相关概念 顺序表 顺序表的概念和结构 线性表 顺序表分类 顺序表和数组的区别 顺序表分类 静态顺序表 动态顺序表 头插和尾插 尾插 数据结构相关概念 数据结构…

Mendix 10.7 发布- Go Mac It!

在我们上个月发布了硕果累累的 Mendix 10.6 MTS 之后,您是否还没有抚平激动的情绪?好吧,不管您是否已经准备好,本月将带来另一个您想知道的大亮点——Mac版Studio Pro!但这还不是全部。本月,我们还将推出Re…

云计算 - 以阿里云为例,企业上云策略全览与最佳实践

一、什么是云采用框架CAF 云采用框架(Cloud Adoption Framework,简称CAF)为企业上云提供策略和技术的指导原则和最佳实践,帮助企业上好云、用好云、管好云,并成功实现业务目标。 本云采用框架是基于服务大量企业客户的…

《上海市交通领域科技创新发展行动计划》发布

《上海市交通领域科技创新发展行动计划》发布:构建北斗交通产业链 日前,上海市交通委、上海市科委联合印发《上海市交通领域科技创新发展行动计划》,提出至2026年末,基本建成符合上海科创中心和交通强市建设要求的交通领域科技创…

[HackmyVM]靶场 Azer

kali:192.168.56.101 主机发现 arp-scan -l靶机:192.168.56.103 端口扫描 nmap -p- 192.168.56.103 开启了80 3000端口 看一下80端口 一直在那转,看源码也没什么有用的东西 扫一下目录 扫不到什么东西 看看另一个端口 是个登录界面 输入admin/admin测试 错误…

Java学习--学生管理系统(残破版)

代码 Main.java import java.util.ArrayList; import java.util.Scanner;public class Main {public static void main(String[] args) {ArrayList<Student> list new ArrayList<>();loop:while (true) {System.out.println("-----欢迎来到阿宝院校学生管理系…

python笔记_数据类型

定义&#xff1a;python的变量在使用前必须赋值&#xff0c;数据类型指的是变量指定的内存数据的类型 string字符串类型使用引号int整型整数float浮点型小数bool布尔值(逻辑)输出true/false A&#xff0c;整数类型 整型字节 1,python的整数有十六进制&#xff0c;十进制&#…

腾讯云4核8G的云服务器性能水平?使用场景说明

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

vite构建vue3+Ts项目 并配置路由router

1、创建项目&#xff1a; 使用 Vite 初始化一个 Vue 3 项目 npm create vitelatest vue3-project --template vue-ts温馨提示&#xff1a;上述命令中&#xff0c;my-vue3-project是自定义的项目名称 可根据需要进行修改 2、进入项目目录&#xff1a; cd my-vue3-project3、安…

有方机器人 STM32智能小车 项目学习笔记1

今天开始学习有方机器人--智能小车项目&#xff0c;正点原子部分的学习先放一放&#xff0c;还是小车更有吸引力哈哈。 新建工程及工程模板搭建 新建工程须知 目前常用的 STM32 的开发方式主要有基于寄存器编程、基于标准库函数编程、基于 HAL 库编程这三种。 寄存器版本--…

阿里云国际云服务器全局流量分析功能详细介绍

进行全局流量分析时&#xff0c;内网DNS解析会作为一个整体模块&#xff0c;其他模块的边缘虚框颜色会置灰&#xff0c;示意作为一个整体进行全局分析&#xff0c;左侧Region可以展开/汇总&#xff0c;也可以单独选中某个Region模块进行分析&#xff08;这时其他Region的流量线…

基于最小二乘正弦拟合算法的信号校正matlab仿真,校正幅度,频率以及时钟误差,输出SNDR,SFDR,ENOB指标

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 最小二乘正弦拟合 4.2 SNDR、SFDR 和 ENOB 计算 4.3 校正 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................…

计网Lesson17 - 拥塞控制

文章目录 1. 拥塞控制1.1 什么是拥塞1.2 拥塞控制的常用算法1.2.1 慢开始1.2.2 拥塞避免1.2.3 快重传1.2.4 快恢复 1. 拥塞控制 1.1 什么是拥塞 拥塞&#xff1a;在某段时间&#xff0c;若对网络中某⼀资源的需求超过了该资源所能提供的可用部分&#xff0c;网络性能就要变坏…

node.js 用 xml2js.Parser 读 Freeplane.mm文件,生成测试用例.csv文件

Freeplane 是一款基于 Java 的开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能&#xff0c;在 Freemind 上增加了一些额外的功能&#xff0c;比如数学公式、节点属性面板等。 编写 mm_xml2js_csv.js 如下 // 用 xml2js.Parser 读 F…

2023 安洵杯-PWN-【side_channel】

文章目录 side_channel libc 2.37检查IDA源码思路选择合适的syscall的gadget寻找可写入shellcode的内存区间mprotect()修改属性 exp side_channel libc 2.37 检查 禁用了write&#xff0c;能用open和read和mprotect IDA源码 __int64 __fastcall main(int a1, char **a2, cha…

第三章-Mybatis源码解析-以xml方式走流程-mapper解析(一)

讲解前&#xff0c;我们先思考几个问题&#xff1a; 1、谁来解析&#xff1f; 2、用什么解析&#xff1f; 3、解析成什么&#xff1f; 4、解析结果如何存放&#xff1f; 5、最终用途&#xff1f; 那么&#xff0c;我们顺着上面几个问题来解读源码。 3.1 XMLMapperBuilde…

人工智能、机器学习和生成式人工智能之间有什么区别?

文 | BFT机器人 在这个数字的智能时代&#xff0c;大家对人工智能、机器学习和生成式人工智能这些名词字眼很熟悉&#xff0c;有些人或许对它们还有一些了解&#xff0c;但是当他们一起出现的时候&#xff0c;大家能够区别它们是什么意思吗&#xff1f;今天小编将带你们详细解…