创建别名:

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. numpy中的nan (无穷小)注意点

  2. 制作一个内部的 zabbix-agent 快速部署脚本

    下载官方的基础 agent 部署包 官方地址:点击到达 curl -O https://cdn.zabbix.com/zabbix/binaries/stable/5.0/5.0.36/zabbix_ ...

  3. 一款广受社区好评的 WAF

    大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站,但是自建网站很容易被收到攻击,今天给大家介绍一款简单免费好用的 WAF 网站防护工具. WAF 是 Web Application Fi ...

  4. MySQL 日志管理、备份与恢复

    MySQL 日志管理.备份与恢复 ---MySQL 日志管理--- MySQL 的日志默认保存位置为 /usr/local/mysql/data vim /etc/my.cnf [mysqld] ## ...

  5. 其它——paramiko模块的使用

    文章目录 paramiko 一 介绍 二 通过用户名密码方式远程执行命令 三 通过用户名密码方式上传下载文件 四 通过公钥私钥远程执行命令 五 通过公钥私钥远程上传下载文件 六 通过私钥字符串远程连接 ...

  6. GO语言基础之基本运算符

    GO语言基础之基本运算符 目录 GO语言基础之基本运算符 一.运算符 内置运算符: 二.算术运算符 三.关系运算符 四.逻辑运算符 五.位运算符 六.赋值运算符 一.运算符 作用:运算符用于在程序运行 ...

  7. Informix 4gl错误代码信息和更正

    (一)Informix信息和更正 出版日期:6 1996 年 年 1 11 月 0 成功. 操作成功.当 SQL 语句成功地执行时,数据库服务器把这个 SQLCODE 值返回给应用程序. 100 没有 ...

  8. Top 5 Code Smells Newbies Developers Could Easily Identify & Avoid

    Posted by Ajitesh Kumar / In Freshers, Software Quality / February 1, 2014 Following is one very pop ...

  9. ERROR: <bits/stdc++.h>, 'cstdalign' file not found, running C++17

    Modified 1 year, 1 month ago Viewed 9k times 4 I'm trying to run a piece of code in Visual Studio Co ...

  10. OSPF路由 与 ISIS路由 与路由学习对比

    转载请注明出处: 1.OSPF 路由学习规律 OSPF使用链路状态数据库(Link State Database)来存储网络拓扑信息.每个OSPF路由器通过交换链路状态更新(Link State Up ...