es 索引别名
别名是指给一个或者多个索引定义另外一个名称,使索引别名和索引之间可以建立某种逻辑关系。
可以用别名表示别名和索引之间的包含关系。例如,我们建立了10月、11月、12月的用户入住酒店的日志索引,假设需要搜索这3个月的日志索引,如果分别去3个索引中进行搜索,这种编码方案比较低效。此时可以创建一个别名4_quarter,设置前面的3个索引的别名为4_quarter,然后在4_quarter中进行搜索即可。
创建10_month_log,11_month_log ,12_month_log 3个索引:
PUT /10_month_log PUT /11_month_log PUT /12_month_log { "mappings":{ "properties":{ "uid":{ //用户ID字段 "type":"keyword" }, "hotel_id":{ //酒店ID字段 "type":"keyword" }, "check_in_date":{ //入住日期字段 "type":"keyword" } } } }
写入文档:
POST /10_month_log/_doc/001 { //写入的文档数据 "uid":"001", "hotel_id":"1", "check_in_date":"2021-10-05" } POST /11_month_log/_doc/002 { //写入的文档数据 "uid":"002", "hotel_id":"1", "check_in_date":"2021-11-05" } POST /12_month_log/_doc/003 { //写入的文档数据 "uid":"003", "hotel_id":"1", "check_in_date":"2021-12-05" }
设置上面3个索引的别名为4_quarter,请求的DSL如下:
POST /_aliases { "actions": [ { "add": { //为索引10_month_log建立别名4_quarter "index": "10_month_log", "alias": "4_quarter" } }, { "add": { //为索引11_month_log建立别名4_quarter "index": "11_month_log", "alias": "4_quarter" } }, { "add": { //为索引12_month_log建立别名4_quarter "index": "12_month_log", "alias": "4_quarter" } } ] }
此时,请求在索引4_quarter中搜索hotel_id为1的用户的入住记录,搜索的DSL如下:
GET /4_quarter/_search { "query": { "term": { //搜索hotel_id为1的文档 "hotel_id": "1" } } }
在默认情况下,当一个别名只指向一个索引时,写入数据的请求可以指向这个别名,如果这个别名指向多个索引,则写入数据的请求是不可以指向这个别名的。
ES不能确定向4_quarter写入数据时的转发对象。这种情况需要在别名设置时,将目标索引的is_write_index属性值设置为true来指定该索引可用于执行数据写入操作。例如设置12_month_log为数据写入转发对象,对应的DSL如下:
POST /_aliases { "actions": [ { "add": { //设置12_month_log为索引别名4_quarter的数据写入转发对象 "index": "12_month_log", "alias": "4_quarter", "is_write_index":true } } ] }
文章参考:Elasticsearch搜索引擎构建入门与实战 --> 3.1.5 索引别名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2019-12-02 java js url特殊格式处理 json特殊格式处理