目录

  • Alias types
  • Add an alias
  • Remove an alias
  • Multiple actions
  • Add an alias at index creation
  • View aliases
  • Write index
  • Filter an alias
  • Routing

alias 对于一组 data streams 或 indices 来说是第二个名称。大多数 Elasticsearch APIs 接受 alias 替换 data streams 或 index 名称。

你可以在任何时候更改 data streams 或 indices 的 alias。如果你在你的应用 Elasticsearch 请求中使用 aliases,你可以在“不停工”或“改代码”的情况下 reindex。

Alias types

有如下两种类型的 aliases:

  • data stream alias 代表一个或多个 data stream
  • index alias 代表一个或多个 indices

alias 不能同时代表 data streams 和 indices。You can also cannot add a data stream’s backing index to an index alias。

Add an alias

给一个已存在的 data stream 或 index 添加 alias,使用 aliases API 的 add action。如果 alias 不存在,这个请求将会创建它。

POST _aliases
{"actions": [{"add": {"index": "logs-nginx.access-prod","alias": "logs"}}]
}

这个 API 的 indexindices 参数支持通配符 (*)。通配符模式同时匹配到 data strams 和 indices 时会返回一个 error。

POST _aliases
{"actions": [{"add": {"index": "logs-*","alias": "logs"}}]
}

Remove an alias

移除一个 alias,使用 aliases API 的 remove action。

POST _aliases
{"actions": [{"remove": {"index": "logs-nginx.access-prod","alias": "logs"}}]
}

Multiple actions

你可以在单次操作中使用 aliases API 执行多个 actions。

例如,这个 logs alias 只想一个独立的 data stream。 如下请求交换了 stream 的 alias。在交换期间,logs alias 没有停止工作并且也没有同时指向两个 streams。

POST _aliases
{"actions": [{"remove": {"index": "logs-nginx.access-prod","alias": "logs"}},{"add": {"index": "logs-my_app-default","alias": "logs"}}]
}

Add an alias at index creation

你也可以使用一个 component template 或 index template 在 index 创建时给 index 添加 aliases。但是,不能使用 component template 或 index template 给 data stream 添加 alias。

# Component template with index aliases
PUT _component_template/my-aliases
{"template": {"aliases": {"my-alias": {}}}
}# Index template with index aliases
PUT _index_template/my-index-template
{"index_patterns": ["my-index-*"],"composed_of": ["my-aliases","my-mappings","my-settings"],"template": {"aliases": {"yet-another-alias": {}}}
}

你也可以在 create index API 请求中指定 index 的 aliases。

# PUT <my-index-{now/d}-000001>
PUT %3Cmy-index-%7Bnow%2Fd%7D-000001%3E
{"aliases": {"my-alias": {}}
}

View aliases

使用无参数的 get alias API 请求,获取集群的 aliases 清单。

GET _alias

_alias 之前指定 data stream 或 index,查看它的所有 aliases。

GET erp_job/_alias

返回结果如下:

{"erp_job" : {"aliases" : {"erp_job_alias" : { },"erp_job_alias_2" : { }}}
}

_alias 后指定一个 alias 来查看 alias 下的 data streams 或 indices。

GET _alias/logs

Write index

你可以使用 is_write_index 给 write index 或 write data stream 设置 alias。Elasticsearch 路由任何有关该 alias 的写请求到这个 index 或 data stream。

POST _aliases
{"actions": [{"add": {"index": "logs-nginx.access-prod","alias": "logs"}},{"add": {"index": "logs-my_app-default","alias": "logs","is_write_index": true}}]
}

如果一个 alias 指向多个没有设置 is_write_index 的 indics 或 data streams。那么该 alias 会拒绝写请求。如果一个 index alias 指向一个没有设置 is_write_index 的 index,那么该 index 会自动的表现为一个 write index。Data stream aliases 不会自动的设置成为一个 write data stream,即便这个 alias 指向一个 data stream。

TIP!我们建议使用 data stream 存储 append-only 时间序列数据。如果你频繁的更新或删除已有的时间序列数据,那么使用带有 index alias 的 write index 替代它。查看 Manage time series data without data streams。

Filter an alias

filter 选项使用 Query DSL 来限制 alias 不能访问的 documents。Data stream aliases 不支持 filter

POST _aliases
{"actions": [{"add": {"index": "my-index-2099.05.06-000001","alias": "my-alias","filter": {"bool": {"filter": [{"range": {"@timestamp": {"gte": "now-1d/d","lt": "now/d"}}},{"term": {"user.id": "kimchy"}}]}}}}]
}

Routing

使用 routing 选项路由 alias 请求到指定的 shard。这可以让你利用 shard caches 来提升搜索速度。Data stream aliases 不支持路由选项。

POST _aliases
{"actions": [{"add": {"index": "my-index-2099.05.06-000001","alias": "my-alias","routing": "1"}}]
}

使用 index_routingsearch_routing 给“索引” 和 “搜索”指定不同的路由值。如果这么做,这些选项会覆盖各自操作的 routing 值。

POST _aliases
{"actions": [{"add": {"index": "my-index-2099.05.06-000001","alias": "my-alias","search_routing": "1","index_routing": "2"}}]
}

Elasticsearch Guide[7.15]翻译 Aliases相关推荐

  1. Qt 中文文档 Qt5.15 PDF Class (从官网Qt 5.15 翻译)

    Qt PDF C++ Classes 这是对 Qt PDF C++ 类的介绍,这些类可以用于处理 PDF 文档的加载.渲染和导航等操作.该模块在 Qt 5.14 中被引入. 命名空间 QPdf:包含 ...

  2. android guide 中文,Android API Guide:Toast 中文翻译

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? Toast为应用操作提供了一种简单的反馈机制,它是一个小型的弹出窗口--A toast provides simple ...

  3. [译] Kotlin Flow 官方 Guide 指南(2021-06-13)翻译

    原文链接:https://github.com/Kotlin/kotlinx.coroutines/blob/master/docs/topics/flow.md 文章目录 Flow 是冷流 Flow ...

  4. Elasticsearch 7.3.0 翻译 - 《Aggregations》 度量聚合 百分位数聚合

    百分位数聚合 多值度量聚合,计算从聚合文档中提取的数值的一个或多个百分位数.这些值可以从文档中的特定数字字段中提取,也可以由提供的脚本生成. 百分位数表示观察值的某个百分比出现的点.例如,95%是大于 ...

  5. android官方文档翻译,Android API Guide:Search 中文翻译

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 搜索,是安卓的一个核心功能.用户可以搜索他们所有能获得的数据,无论这些内容在设备上或者在网络上. Search Over ...

  6. Go Elasticsearch 查询快速入门

    文章目录 0.前言 1.根据 ID 查询 2.精确匹配单个字段 3.精确匹配单个字段的多个值 4.全文查询 5.范围查询 6.判断某个字段是否存在 7.bool 组合查询 must filter sh ...

  7. Elasticsearch的mapping映射

    前言 参考的es的文档 当前版本7.15 Mapping | Elasticsearch Guide [7.15] | Elastic 可能刚接触es的小白和我一样(我也是小白),映射是个啥玩意,如果 ...

  8. Go Elasticsearch 更新快速入门

    文章目录 1.根据 ID 修改 2.根据 ID 修改(不存在则插入) 3.根据条件更新 4.批量更新 5.脚本更新 5.1 删除数组中的某个元素 5.2 删除数组中的多个元素 参考文献 本文借助第三方 ...

  9. Go Elasticsearch 增加快速入门

    文章目录 1.创建单个文档 1.1 Go 1.2 RESTful API 2.批量创建文档 2.1 Go 2.1 RESTful API 参考文献 创建完 ES 的 index,便可以向 index ...

最新文章

  1. java多线程系列_Java多线程实战系列
  2. dubbo学习之dubbo管理控制台装配及集成zookeeper集群部署(1)【转】
  3. 虚拟机做linux服务器,用 VirtualBox 的 linux 虚拟机做服务器
  4. shell题库选择题_linux操作题及答案 shell练习题
  5. Dev GridView 绑定Listlt;Tgt;、BindingList lt;Tgt;、BindingSource
  6. MongoDB常用操作命令
  7. cscript 执行代码_WSCRIPT与CScript区别
  8. javascript将base64编码的图片数据转换为file并提交
  9. ASP.NET 封装JS文件到DLL中并在页面中调用
  10. 单点登录(SSO)解决方案之 CAS服务端数据源设置及页面改造
  11. UML类图关系全面剖析
  12. linux 查看系统位数命令,怎么用命令行查看Linux系统位数
  13. 使用FileOutputStream和ObjectOutputStream向文本文件中写多个对象的信息(序列化)
  14. 博客排名400-300的数据变化
  15. 如何用计算机模拟光的传播,菲涅尔计算全息干涉图的制作与模拟再现.doc
  16. 公众号写作排版指南教程v1.0
  17. windows 定时重启Tomcat服务
  18. Resnet 网络结构的理解以及论文
  19. word怎么让页码在指定页面从1开始
  20. IoU,GIoU,DIoU、CIoU详解

热门文章

  1. 记录ubuntu16.04使用kinectv2报错openni2_grabber.cpp @ 325 : No devices connected.找不到设备的解决过程
  2. 2019美亚杯个人赛刷题
  3. 【Ruby on Rails全栈课程】4.3 评论功能实现(二)--创建帖子详情页面
  4. 国内外有哪些做小样本学习(Few-Shot Learning)的优秀团队?
  5. entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit
  6. 零基础学习SpringBoot
  7. Geoserver2.11矢量切片与OL3中的调用展示
  8. 公众号配图不会设计?你需要这三款在线作图神器
  9. Pose Estimation 入门理解
  10. 基于皮尔逊相关系数的电影智能推荐系统