ES中的数据类型学习之ALIAS

Alias field type | Elasticsearch Guide [7.17] | Elastic

这里只针对data type的alias,暂时不说 index的alias。直接实战开始

PUT trips

{

"mappings": {

"properties": {

"distance": {

"type": "long"

},

"route_length_miles": {

"type": "alias",

"path": "distance"

},

"transit_mode": {

"type": "keyword"

}

}

}

}

-- 上面创建了一个trips的index 里面有三个字段 transit_mode,distance,route_length_miles

-- 插入一条自己造的数据

post trips/_doc

{

"distance":100,

"transit_mode":"cclovezbf"

}

-- 查询结果

GET _search

{

"query": {

"range" : {

"route_length_miles" : {

"gte" : 39

}

}

}

}


The path to the target field. Note that this must be the full path, including any parent objects (e.g. object1.object2.field).

注意 必须是全路径,如果原字段名的是object person {"name","cc","sex":"nan"},你想给name一个别名,必须是 "path": "person.name"

怎么理解这个alias呢?

其实可以看做是数据库里的view。

比如我建表的时候只有transit_mode 和distance字段,但是后面因为某些原因,我需要一个字段route_length_miles查询,所以我

create view trips_v as select distance,transit_mode, distance as route_length_miles from trips.

这样 我实际存储的还是两个字段,但是对外暴露的还是一个字段。

有人说这个有什么用呢?

Elasticsearch中别名alias相关操作(创建、更新、删除)_elasticsearch alias-CSDN博客

就是原先的数据字段mapping不能随便的修改,但是对外暴露的查询接口字段有需要新增。我们再看看官网给的说法

GET trips/field_caps?fields=route*,transit_mode

说了半天就是说这个alias字段和普通字段一样基本能正常使用,除了一些不支持的api

说了alias的一些限制

1.目标字段必须是固定的字段,不是一个对象或这个其他的字段的别名,也就是别名 不能是[keyword的别名]的别名。

2.别名创建的时候这个字段必须存在

3.如果object的type=nested,别名也必须是nested

4.别名只能为一个字段的别名。比如 p不能为person和perfect的别名

某些情况下是查不出别名字段的,比如_source 顾名思义,source就是原始字段,这个别名只能算是一个新增虚拟字段。

相关推荐
东哥说-MES|从入门到精通4 小时前
GenAI-生成式人工智能在工业制造中的应用
大数据·人工智能·智能制造·数字化·数字化转型·mes
万岳软件开发小城4 小时前
教育APP/小程序开发标准版图:课程、题库、直播、学习一站式梳理
大数据·php·uniapp·在线教育系统源码·教育app开发·教育软件开发
STLearner6 小时前
AI论文速读 | U-Cast:学习高维时间序列预测的层次结构
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
数字化顾问6 小时前
(65页PPT)大型集团物料主数据管理系统建设规划方案(附下载方式)
大数据·运维·人工智能
老蒋新思维7 小时前
创客匠人 2025 全球创始人 IP+AI 万人高峰论坛:AI 赋能下知识变现与 IP 变现的实践沉淀与行业启示
大数据·人工智能·网络协议·tcp/ip·重构·创始人ip·创客匠人
黑客思维者7 小时前
LLM底层原理学习笔记:Adam优化器为何能征服巨型模型成为深度学习的“速度与稳定之王”
笔记·深度学习·学习·llm·adam优化器
kk哥88997 小时前
Swift底层原理学习笔记
笔记·学习·swift
河南博为智能科技有限公司8 小时前
高集成度国产八串口联网服务器:工业级多设备联网解决方案
大数据·运维·服务器·数据库·人工智能·物联网
AA陈超9 小时前
Lyra学习004:GameFeatureData分析
c++·笔记·学习·ue5·虚幻引擎
无代码专家10 小时前
设备巡检数字化解决方案:构建高效闭环管理体系
java·大数据·人工智能