ElasticSearch备考 -- Alias

devtools/2024/10/18 8:25:02/

一、题目

1) Create the alias `hamlet` that maps both `hamlet-1` and `hamlet-2`

Verify that the documents grouped by `hamlet` are 8

2) Configure `hamlet-3` to be the write index of the `hamlet` alias

二、思考

可以通过指定别名,来指向一个或多个索引,可以理解成一个linux系统重软链接。

别名创建三种方式

  • 在创建索引时指定别名
  • 索引模版中创建别名
  • 对已有的索引创建别名

通过分析题目1)可以看出是使用第三种方式。题目2)是使用第一种方式。

三、解题

初始化数据

hamlet-1/_doc/_bulk
{"index":{"_index":"hamlet-1","_id":0}}
{"line_number":"1.1.1","speaker":"BERNARDO","text_entry":"Whos there?"}
{"index":{"_index":"hamlet-1","_id":1}}
{"line_number":"1.1.2","speaker":"FRANCISCO","text_entry":"Nay, answer me: stand, and unfold yourself."}
{"index":{"_index":"hamlet-1","_id":2}}
{"line_number":"1.1.3","speaker":"BERNARDO","text_entry":"Long live the king!"}
{"index":{"_index":"hamlet-1","_id":3}}
{"line_number":"1.2.1","speaker":"KING CLAUDIUS","text_entry":"Though yet of Hamlet our dear brothers death"}hamlet-2/_doc/_bulk
{"index":{"_index":"hamlet-2","_id":4}}
{"line_number":"2.1.1","speaker":"LORD POLONIUS","text_entry":"Give him this money and these notes, Reynaldo."}
{"index":{"_index":"hamlet-2","_id":5}}
{"line_number":"2.1.2","speaker":"REYNALDO","text_entry":"I will, my lord."}
{"index":{"_index":"hamlet-2","_id":6}}
{"line_number":"2.1.3","speaker":"LORD POLONIUS","text_entry":"You shall do marvellous wisely, good Reynaldo,"}
{"index":{"_index":"hamlet-2","_id":7}}
{"line_number":"2.1.4","speaker":"LORD POLONIUS","text_entry":"Before you visit him, to make inquire"}

题目一

Step 1、对已有索引创建别名

POST _aliases
{"actions": [{"add": {"index": "hamlet-1","alias": "hamlet"}},{"add": {"index": "hamlet-2","alias": "hamlet"}}]
}

Step 2、通过查询验证别名

POST hamlet/_count

题目二

方案一:创建索引指定别名

aliases 和 mappings 平级

aliases 中别名中花括号不用写任何内容

PUT /hamlet-3
{"aliases": {"hamlet": {}}, "mappings": {"properties": {"line_number": {"type": "text"},"speaker": {"type": "text"},"text_entry": {"type": "text"}}}
}

方案二:索引指定别名可以写

通过参数"is_write_index": true,可以别名执行写操作

POST /_aliases
{"actions": [{"add": {"index": "hamlet-1","alias": "hamlet"}},{"add": {"index": "hamlet-2","alias": "hamlet"}},{"add": {"index": "hamlet-3","alias": "hamlet","is_write_index": true}}]
}

四、总结

别名创建三种方式,注意每种方式的适用场景

  • 在创建索引时指定别名
  • 索引模版中创建别名
  • 对已有的索引创建别名

参考资料

  • Aliases | Elasticsearch Guide [8.1] | Elastic
  • https://www.elastic.co/guide/en/elasticsearch/reference/8.1/index-templates.html

送一波福利:

福利一

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

有需要内推JD的同学,可以私信或留言,我帮您内推,流程快!!!

福利二

福利三


http://www.ppmy.cn/devtools/122117.html

相关文章

2024年优化苹果免签封装APP H5站打包苹果APP 绿标-永不掉千(永久使用)

大家都知道苹果手机做APP签名很贵, 这个程序就是吧您的H5网站 一切网页可以打开的,封装成app 苹果手机上可以直接安装使用 永久可用!!很简单,可以看视频教程来安装使用, 视频教程: https://ww…

project_object_model_3d

**( : ModelContours : ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue : )** ModelContours:投影成的轮廓线 ObjectModel3D:被投影的3D模型,做过三维造型的话,我觉得这里就是求视图,所谓左视图&#…

计算机毕业设计 家校互联管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

一次oracle迁移11g到19c后用到的对象数量对比脚本

一次oracle迁移11g到19c后用到的对象数量对比脚本,按用户习惯就好。 oraclejyc:/home/oracle/stat>ll 合計 584 -rw-r--r-- 1 oracle oinstall 82709 9月 27 09:20 11g-79-01.txt -rw-r--r-- 1 oracle oinstall 332 9月 27 09:17 11g-79-02.txt -rw-r--r-…

Markdown 语法详解大全(超级版)(四)——Markdown 使用 Emoji 表情 (附:表情符号简码列表)

Markdown 语法详解大全(超级版)(四) ——Markdown 使用 Emoji 表情 (附:表情符号简码列表) 本文目录: 一、复制和粘贴表情符号 二、使用表情符号简码 三、表情符号简码列表 本系列文章: Ma…

大学生就业与招聘:Spring Boot系统设计

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

NVIDIA G-Assist 项目:您的游戏和应用程序AI助手

NVIDIA G-Assist 是一个革命性的人工智能助手项目,旨在通过先进的AI技术提升玩家的游戏体验和系统性能。这个项目在2024年Computex上首次亮相,展示了其在游戏和应用程序中的潜在应用。 喜好儿网 G-Assist 的核心功能是提供上下文感知的帮助。它能够接收…

uniapp+Android面向网络学习的时间管理工具软件 微信小程序

目录 项目介绍支持以下技术栈:具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是:数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 用户功能…