创建别名:

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. Solution Set -「ABC 197」

    「ABC 197A」Rotate Link. 略. #include<bits/stdc++.h> using namespace std; int main(){ char a,b,c; ...

  2. 如何快速找到win10系统中的开机启动文件所在路径

    在网站系统开发过程中,我们会遇到一些服务器下线导致的网站无法打开的情况,就需要重启服务器,如果每次手动去操作,实在是很繁琐,所以咱们可以利用开机自启的方式.而要这样设置的话,就需要找到开机自启的目录, ...

  3. JUC并发编程(4)—ThreadLocal介绍(超详细 集大成版本!!!)

    目录 ThreadLocal简介 ThreadLocal与Synchronized的区别 ThreadLocal API ThreadLocal的使用案例 阿里ThreadLocal规范 Thread ...

  4. 自己把源码生成jar,在android项目中调用

    项目源码下载地址 看了很多,找了很多,都是没有自己想要的效果的,不容易啊,备注下吧. 1.自己的源码 ,java文件,里边有各种方法,生成jar,可以分享给别人使用. 2.目前主要验证在android ...

  5. MQ系列16:MQ实现消息过滤处理

    MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系 ...

  6. Django+celery+eventlet+flower+redis异步任务创建及查询实现

    1.环境版本:Django 3.2.12celery 5.3.4eventlet 0.33.3flower 2.0.1redis 3.5.3项目名称:new_project 2.celery配置(se ...

  7. 未能添加SSL证书,错误1312

    1.win+r打开运行,输入mmc 2.在控制台1[控制台根节点]->文件->添加/删除....->选择证书->添加-选择计算机账户->完成->确认 3.找到证书文 ...

  8. 用Python实现将txt中的中文和中文标点保留下来

    用正则表达式就可以实现这个操作. 中文标点的正则表达式: [\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u30 ...

  9. 使用django 定时任务 (Django + celery + beat )

    安装 django + celery + results https://www.cnblogs.com/lanheader/p/13615772.html 安装 django-celery-beat ...

  10. 3种web会话管理的方式(session)

    阅读目录  https://www.cnblogs.com/lyzg/p/6067766.html 1. 基于server端session的管理 2. cookie-based的管理方式 3. tok ...