别名解决的问题

在运行的集群中可以从一个索引切换到另一个索引

可以给多个索引进行分组

可以与路由搭配使用

别名的相关操作

准备数据阶段

PUT l1/doc/1

{

"title":"我想要睡你"

}

PUT l2/doc/1

{

"title":"你却拿我当兄弟"

}

PUT l3/doc/1

{

"title":"不过,我不介意"

}

创建别名  给l1索引创建别名a1(_aliases  actions add)

POST _aliases

{

"actions": [

{

"add": {

"index": "l1",

"alias": "a1"

}

}

]

}

查看别名

GET l1/_alias

查看结果

{

"l1" : {

"aliases" : {

"a1" : { }

}

}

}

删除别名(actions remove)

POST _aliases

{

"actions": [

{

"remove": {

"index": "l1",

"alias": "a1"

}

}

]

}

重命名别名(淘汰旧的索引上的别名,生成新的索引上的别名)

POST _aliases

{

"actions": [

{

"remove": {

"index": "l1",

"alias": "a1"

}

},

{

"add": {

"index": "l2",

"alias": "a1"

}

}

]

}

为多个索引指向同样的别名(证实为多个索引分组)

POST _aliases

{

"actions": [

{"add": {"index": "l1", "alias": "a1"}},

{"add": {"index": "l2", "alias": "a1"}},

{"add": {"index": "l3", "alias": "a1"}}

]

}

使用indeices数组语法在一个操作中为多个索引指向别名

多个索引指向同一别名

POST _aliases

{

"actions": [

{"add": {"indices": ["l1", "l2", "l3"], "alias": "a2"}}

]

}

一个索引指向多个别名

POST _aliases

{

"actions": [

{"add": {"index": "l1", "aliases": ["a1", "a2", "a3"]}}

]

}

将别名关联到拥有公共名称的索引(将索引 l1 l2 l3指向f1别名)

POST _aliases

{

"actions": [

{"add": {"index": "l*", "alias": "f1"}}

]

}

别名交换

POST _aliases

{

"actions": [

{"add": {"index": "l1", "alias": "a1"}},

{"remove_index":{"index":"a1"}}

]

}

# 就像删除a1别名

过滤器别名

1.自定义索引

2.插入数据

3.普通查询和根据别名查询

PUT l4

{

"mappings": {

"doc":{

"properties":{

"year":{

"type":"integer"

},

"method":{

"type":"keyword"

}

}

}

}

}

PUT l4/doc/1

{

"year":2019,

"method":"GET"

}

PUT l4/doc/2

{

"year":2018,

"method":"POST"

}

PUT l4/doc/3

{

"year":2019,

"method":"POST"

}

POST _aliases

{

"actions": [

{

"add": {

"index": "l4",

"alias": "a4",

"filter": {

"term": {

"year": 2019

}

}

}

}

]

}

GET l4/doc/_search

GET a4/doc/_search

此时两种查询结果不同(带有过滤的只返回2019,而普通查询会全部返回)

与路由连用

简单实例

POST _aliases

{

"actions": [

{

"add": {

"index": "l4",

"alias": "a4",

"routing": "2"

}

}

]

}

再列举一个

POST _aliases

{

"actions": [

{

"add": {

"index": "l4",

"alias": "a4",

"search_routing": "1,2",

"index_routing": "1"

}

}

]

}

GET a4/doc/_search?q=year:2019&routing=2

# 取交集2

写索引(如果多个索引指向一个别名,通过别名写索引,不指定es不知道)

POST _aliases

{

"actions": [

{

"add": {

"index": "l1",

"alias": "a1",

"is_write_index": true

}

},

{

"add": {

"index": "l2",

"alias": "a1"

}

}

]

}

添加单个别名

PUT {index}/_alias/{name}

PUT {index}/_alias/{name}?routing=user1

index,要为哪个索引添加别名。

name,别名的名称。

routing,可以与别名关联的路由。

删除别名

DELETE l1/_alias/a1

DELETE l2/_aliases/a*

检索现有别名

GET l1/_alias/a* # 查询索引l1指向以a开头的所有别名

GET l1/_alias/* # 查询索引l1所有的别名

查询所有别名是a1

GET /_alias/a1

HEAD检测别名是否存在

GET _cat/aliases

HEAD _alias/a1

es 切换别名_Elasticsearch之别名相关推荐

  1. mysql union all 别名_MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名.字段别名用法.分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM frui ...

  2. php 入口文件引入取别名,php命名空间别名/导入

    php命名空间别名/导入的介绍及使用 PHP 命名空间支持 有两种使用别名或导入方式:为类名称使用别名,或为命名空间名称使用别名. 导入 在每个PHP文件中告诉PHP想使用哪个命名空间.类.接口.函数 ...

  3. 我的Android进阶之旅------修改Android签名证书keystore的密码、别名alias以及别名密码...

    转载于:http://blog.k-res.net/archives/1229.html  和 http://blog.k-res.net/archives/1671.html ADT允许自定义调试用 ...

  4. mysql 别名_MySQL 字段别名(列别名)

    SQL 字段别名 同本文前文讲述的表别名一样,SQL(MySQL) 也支持对表的字段(列)设置别名. 字段别名语法: SELECT column AS column_alias FROM table ...

  5. mysql 表别名_MySQL 表别名(Alias)

    SQL 表别名 在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持.通过关键字 AS 来指定. 表别名语法: SELECT c ...

  6. oracle账户别名,Oracle的别名

    在SQL语句中,可以给表和列起别名,这是临时的别名,与同义词不一样,同义词是永久的别名. 别名是多表查询和嵌套查询语句的基础知识,本文只介绍别名的语法,不涉及别名的应用技巧,大家在学习的时候可能觉得别 ...

  7. mysql中别名(列别名和表别名)

    1.介绍 使用MySQL别名来提高查询的可读性. MySQL支持两种别名,称为列别名和表别名. 有时,列的名称是一些表达式,使查询的输出很难理解.要给列一个描述性名称,可以使用列别名. 用法: SEL ...

  8. apache的es的原理_Elasticsearch的原理简介

    简介 ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎. 同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能 ...

  9. mysql数据库在查询的时候不能使用字段别名,字段别名只在显示的时候显示出来

    例如:现在有department表,如下: mysql> select * from department; +------+-----------+--------------+------- ...

最新文章

  1. 安全攻防实战:使用winlogonhack获取系统密码
  2. 网络宣传推广浅谈关键词排名好却没有流量的原因解决方法!
  3. java logout session_在jsp里做“退出登录”, session.setAttribute(id,null)居然出错。高手救命啊!...
  4. AS2的MD5/SHA1/TEA等加密算法类
  5. ASP.NET 框架 之HttpHandler
  6. Vue实现仿音乐播放器12-实现歌手页面效果
  7. [转]Android-Proguard(代码混淆)
  8. HTTP 返回304
  9. 元素周期表排列的规律_化学元素周期表的规律 元素周期表的规律
  10. 深入理解Flash的沙箱
  11. 三维点云语义分割【综述】 ——Deep Learning for 3D Point Clouds: A Survey
  12. 侯捷C++视频(百度云盘)
  13. java 模块解耦_微服务架构:如何用十步解耦你的系统?
  14. 扫盲 HTTPS 和 SSL/TLS 协议[3]:密钥交换(密钥协商)算法及其原理
  15. Dubbo 配置http协议
  16. Undirected Vertex Geography
  17. oracle lookup函数,表计算函数
  18. windows平台视频渲染技术小结
  19. 尚硅谷大数据技术之电商用户行为数据分析
  20. 运筹系列65:TSP问题的精确求解法概述

热门文章

  1. MIPS 指令集速查
  2. 360浏览器如何开启翻译功能?
  3. xmanager linux 远程桌面,Windows系统下通过xmanager远程桌面控制Linux
  4. 在视频中添加图片,图片中添加视频,制作画中画效果
  5. SpringBoot 导出Word文档(doc\docx) Office无法打开,WPS正常等坑
  6. 背包问题-三种动态规划解法-逐步减少空间复杂度
  7. 如果有一天不写代码了,还能干点啥?
  8. 学习编程应该最基本的是学习什么
  9. 使用朋也社区搭建自己的社区网站就是这么简单~~
  10. 【转载】各大主流IP摄像头的rtsp地址介绍