创建别名:

https://www.elastic.co/guide/en/elasticsearch/reference/6.8/indices-aliases.html

我们有时候并不能确保索引库中的Mapping创建后旧肯定不会修改某个字段的类型的。

而ES又不能修改字段的类型,只能先新建索引库然后再导入原有数据。

这时候如果由于索引库名是不能一样的,所以每次你改一下,以前的业务代码旧改一次查询的索引库?这样会非常麻烦!

此时我们可以在创建索引库时按照下面规则来创建。

  1. 创建索引库,并加上版本号作为索引库的名字。

    如:article_v1

  2. 给索引库起别名。

    如:给article_v1的起一个别名article

  3. 业务系统中使用别名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给索引起"别名"和其重要性的更多相关文章

  1. ES 10 - Elasticsearch的索引别名和索引模板

    目录 1 索引模板概述 1.1 什么是索引模板 1.2 索引模板中的内容 1.3 索引模板的用途 2 创建索引模板 3 查看索引模板 4 删除索引模板 5 模板的使用建议 5.1 一个index中不能 ...

  2. ElasticSearch+Kibana 索引操作( 附源码)

    一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elastics ...

  3. ElasticSearch+Kibana 索引操作

    ElasticSearch+Kibana 索引操作 一 前言 ElasticiSearch 简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引 ...

  4. 【ElasticSearch】索引重建

    ElasticSearch索引重建 ElasticSearch索引一旦建立,便不可修改索引字段类型(允许增加或者删除该字段) 例如从Integer类型修改为long类型,这是不被允许的,错误信息如下: ...

  5. elasticsearch的索引重建

    我们知道es在字段的mapping建立后就不可再次修改mapping的值.在我们实际的情况下有些时候就是需要修改mapping的值,解决方案就是重新构建索引数据. 方式一 : 使用索引别名,创建另外一 ...

  6. elasticsearch的索引操作和文档操作总结

    参考文档:https://es.xiaoleilu.com/010_Intro/00_README.html 一.索引操作 1.查看当前节点的所有的index 查看当前节点的所有的index [roo ...

  7. elasticsearch的索引自动清理及自定义清理

    近发现elasticsearch近期索引文件大的吓人,清理了下之前的索引文件,发现服务器性能大大的减轻了一半,想一直保留近一个月的索引文件,但是又不想每个月手动清楚,在此写了一个小脚本 查询索引: c ...

  8. ELK学习笔记之ElasticSearch的索引详解

    0x00 ElasticSearch的索引和MySQL的索引方式对比 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄 ...

  9. elasticsearch删除索引报错【原】

    如果elasticsearch删除索引报错 curl -X DELETE 'http://10.73.26.66:9200/httpd-34-2017.08.15' {"error" ...

  10. spring data elasticsearch多索引查询

    一次查询多个索引数据 es里可以这样写 GET 索引1,索引2,索引3/_search 也可以这样 给索引创建别名,多个索引可以使用一个别名 POST /_aliases { "action ...

随机推荐

  1. BZ全景编辑器(KRPano全景可视化编辑器, 无需编写代码, 图形化制作全景漫游)

    软件简介 BZ全景编辑器是一款KRPano全景可视化编辑工具,下载安装即可使用,无需拥有任何KRPano代码基础,便可以制作生成精美的全景漫游作品. BZ全景编辑器群:882083973 最新版软件下 ...

  2. MD5&MD5盐值加密到BCryptPasswordEncoder

    MD5&MD5盐值加密 Message Digest algorithm5,信息摘要算法: 压缩性:任意长度的数据,算出的MD5值长度都是固定的 容易计算:从原数据计算出MD5值很容易 抗修改 ...

  3. 「codeforces - 1608F」MEX counting

    link. 首先考虑暴力,枚举规划前缀 \([1, i]\) 和前缀 mex \(x\),则我们需要 \(x\) 个数来填了 \([0, x)\),还剩下 \(i-x\) 个数随便填 \([0, x) ...

  4. 兴达易控Modbus转Profinet网关连接三菱A800变频器配置案例

    兴达易控Modbus转Profinet网关连接1200Profinet转modbus接三菱A800变频器 下面介绍A800 变频器通过兴达易控modbus转profinet网关,使1200plc无需编 ...

  5. 真·Redis缓存优化—97%的优化率你见过嘛?

    本文通过一封618前的R2M(公司内部缓存组件,可以认为等同于Redis)告警,由浅入深的分析了该告警的直接原因与根本原因,并根据原因提出相应的解决方法,希望能够给大家在排查类似问题时提供相应的思路. ...

  6. 校招零Offer要不要先找实习?

    国庆前后被问到最多的问题是:"磊哥,我现在还是 0 Offer,要不要先去找个实习?",给大家看看部分截图. 同学 A: 同学 B: 同学 C: 其他还有一些截图,我这里就不一一贴 ...

  7. 01--OpenStack 手动安装手册(Icehouse)

    #OpenStack 手动安装手册(Icehouse) 声明:本博客欢迎转发,但请保留原作者信息!作者:[罗勇] 云计算工程师.敏捷开发实践者博客:http://yongluo2013.github. ...

  8. 轻松掌握组件启动之Redis集群扩展秘籍:轻松扩容与缩容,释放高性能潜能

    扩展集群操作 扩容 在我们原始的集群基础上,我们决定增加一台主节点(8007)和一台从节点(8008),这样新增的节点将会在下图中以虚线框的形式显示在集群中. 1: 首先,在 /usr/local/r ...

  9. 【matplotlib 实战】--南丁格尔玫瑰图

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表. 虽然南丁格尔玫瑰图外观类似饼图,但是表示数据的方式不同,它是以半径来表示数值的,而饼图是以扇形的弧度来表达数据的. 所以,南丁格尔 ...

  10. 挑战程序设计竞赛 2.2 poj 3040 Allowance 贪心

    https://vjudge.csgrandeur.cn/problem/POJ-3040 /* 作为创纪录的牛奶产量的奖励,约翰决定每周给贝西一小笔零用钱.FJ拥有一组N(1 <= N < ...