ElasticSearch给索引起"别名"和其重要性
创建别名:
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-aliases.html
我们有时候并不能确保索引库中的Mapping创建后旧肯定不会修改某个字段的类型的。
而ES又不能修改字段的类型,只能先新建索引库然后再导入原有数据。
这时候如果由于索引库名是不能一样的,所以每次你改一下,以前的业务代码旧改一次查询的索引库?这样会非常麻烦!
此时我们可以在创建索引库时按照下面规则来创建。
创建索引库,并加上版本号作为索引库的名字。
如:article_v1
给索引库起别名。
如:给article_v1的起一个别名article
业务系统中使用别名article来查询数据。
此时,即便我们要修改mapping,那么我们完全可以先新建一个索引库v2版本,然后使用_reindex复制数据,然后再给v2版本起别名为article,就不需要修改业务代码中的索引库名。
案例:
REM 创建logs_v1索引
curl -X PUT "http://elastic:swq1996@localhost:9200/logs_v1"
{"acknowledged":true,"shards_acknowledged":true,"index":"logs_v1"}
REM 给logs_v1索引起一个别名为logs
curl -X PUT "http://elastic:swq1996@localhost:9200/logs_v1/_alias/logs"
{"acknowledged":true}
REM 查看当前所有索引库的别名信息
curl -X GET "http://elastic:swq1996@localhost:9200/_cat/aliases?v&pretty"
alias index filter routing.index routing.search
logs logs_v1 - - -
REM 再次创建哪一个log_v2的索引库
curl -X PUT "http://elastic:swq1996@localhost:9200/logs_v2"
{"acknowledged":true,"shards_acknowledged":true,"index":"logs_v2"}
REM 给logs_v2索引起一个一模一样的别名为logs
curl -X PUT "http://elastic:swq1996@localhost:9200/logs_v2/_alias/logs"
{"acknowledged":true}
REM 再次查看当前所有索引库的别名信息, 可以发现有两个一样别名的
curl -X GET "http://elastic:swq1996@localhost:9200/_cat/aliases?v&pretty"
alias index filter routing.index routing.search
**logs logs_v1 - - -
logs logs_v2 - - -**
REM 最后删除logs_v1的别名
**curl -X DELETE "http://elastic:swq1996@localhost:9200/logs_v1/_alias/logs"**
{"acknowledged":true}
ElasticSearch给索引起"别名"和其重要性的更多相关文章
- ES 10 - Elasticsearch的索引别名和索引模板
目录 1 索引模板概述 1.1 什么是索引模板 1.2 索引模板中的内容 1.3 索引模板的用途 2 创建索引模板 3 查看索引模板 4 删除索引模板 5 模板的使用建议 5.1 一个index中不能 ...
- ElasticSearch+Kibana 索引操作( 附源码)
一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elastics ...
- ElasticSearch+Kibana 索引操作
ElasticSearch+Kibana 索引操作 一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引 ...
- 【ElasticSearch】索引重建
ElasticSearch索引重建 ElasticSearch索引一旦建立,便不可修改索引字段类型(允许增加或者删除该字段) 例如从Integer类型修改为long类型,这是不被允许的,错误信息如下: ...
- elasticsearch的索引重建
我们知道es在字段的mapping建立后就不可再次修改mapping的值.在我们实际的情况下有些时候就是需要修改mapping的值,解决方案就是重新构建索引数据. 方式一 : 使用索引别名,创建另外一 ...
- elasticsearch的索引操作和文档操作总结
参考文档:https://es.xiaoleilu.com/010_Intro/00_README.html 一.索引操作 1.查看当前节点的所有的index 查看当前节点的所有的index [roo ...
- elasticsearch的索引自动清理及自定义清理
近发现elasticsearch近期索引文件大的吓人,清理了下之前的索引文件,发现服务器性能大大的减轻了一半,想一直保留近一个月的索引文件,但是又不想每个月手动清楚,在此写了一个小脚本 查询索引: c ...
- ELK学习笔记之ElasticSearch的索引详解
0x00 ElasticSearch的索引和MySQL的索引方式对比 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄 ...
- elasticsearch删除索引报错【原】
如果elasticsearch删除索引报错 curl -X DELETE 'http://10.73.26.66:9200/httpd-34-2017.08.15' {"error" ...
- spring data elasticsearch多索引查询
一次查询多个索引数据 es里可以这样写 GET 索引1,索引2,索引3/_search 也可以这样 给索引创建别名,多个索引可以使用一个别名 POST /_aliases { "action ...
随机推荐
- 解决Eclipse中启动Tomcat报unable to start within 45 seconds问题
启动项目的时候报Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server ...
- 用一个示例来学习DockerFile
在Docker的世界里,我们经常会听到Dockerfile这个词.那么,什么是Dockerfile?它如何工作?本文将简要介绍Dockerfile的基本概念,原理以及一些常用的Dockerfile命令 ...
- 【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统
Eolink Apikit 有三种客户端,可以依据自己的情况选择.三种客户端的数据是共用的,因此可以随时切换不同的客户端. 我们推荐使用新推出的 Apikit PC 客户端,PC 端拥有线上产品所有的 ...
- 「codeforces - 1394C」Boboniu and String
link. 注意到 BN-string 长成什么样根本不重要,我们把它表述为 BN-pair \((x, y)\) 即可,两个 BN-strings 相似的充要条件即两者分别映射得到的 BN-pair ...
- Python socket实现ftp文件下载服务
简要 使用Python socket和多线程实现一个FTP服务下载.下面的示例是固定下载某一个任意格式文件. 仅仅为了展示如果使用socket和多线程进行文件下载 服务端代码 import socke ...
- 如何用ppt打印9张一面,并且去除边距?
如何用ppt打印9张一面,并且去除边距? 方法其实很简单,答主不要在ppt软件的打印选项里设置[每页打印9张幻灯片],而是使用默认的[每页打印1张幻灯片]. 然后去[打印机属性]里设置,我是 ...
- ProcessingJS
ProcessingJS 图形 rect(x, y, w, h)(在新窗口中打开) ellipse(x, y, w, h) triangle(x1, y1, x2, y2, x3, y3) line( ...
- 嵌入式BI的精解与探索
摘要:本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 1996年,商业智能(BI)的概念首次浮现,随后的20多年间,商 ...
- 聊聊基于Alink库的特征工程方法
示例代码及相关内容来源于<Alink权威指南(Java版)> 独热编码 OneHotEncoder 是用于将类别型特征转换为独热编码的类.独热编码是一种常用的特征编码方式,特别适用于处理类 ...
- 13. 从零开始编写一个类nginx工具, HTTP中的压缩gzip,deflate,brotli算法
wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...