1.概述

转载:https://www.cnblogs.com/sanduzxcvbnm/p/12084448.html

就像其他的很多语言一样,我们可以给已有的变量取一个别名(alias)。即便是对高级语言一样,比如我们定义不同的指针变量,指向同一个内存空间。这个有些类似别名的概念。

在Elasticsearch中,我们也可以为index中的一个字段(field)取一个另外的名字:

它可以用来代替搜索请求中的目标(target)字段
以及其它的被选定的API中
通常alias可以用来帮助我们重新命名一个字段,并让这个字段的名称符合我们的命名规则。我们可以参考ECS。通过alias的使用,可以使得我们的字段根据符合ECS标准。一个字段的alias只能有一个目标字段。

在使用alias时,字段别名的目标有一些限制:

它必须是一个具体的字段(不是一个对象或者是另外一个alias)
它必须在alias被创建时已经存在
如果是一个nested的对象,那么alias必须具有和它的目标具有同样的nested scope

2.一个alias的应用例子

下面,我们来用一个具体的例子来说说明。我们首先来定义一个index的mapping如下:

 PUT trips{"mappings": {"properties": {"distance": {"type": "long"},"route_length_miles": {"type": "alias","path": "distance" },"transit_mode": {"type": "keyword"}}}}

现在我们输入一下的两个文档,并搜索:

PUT trips/_doc/1
{"distance": 100,"transit_mode": "mode1"
}PUT trips/_doc/2
{"distance": 50,"transit_mode": "mode2"
}GET _search
{"query": {"range" : {"route_length_miles" : {"gte" : 60}}}
}

显示的结果是:

{"took" : 346,"timed_out" : false,"_shards" : {"total" : 20,"successful" : 20,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 1,"relation" : "eq"},"max_score" : 1.0,"hits" : [{"_index" : "trips","_type" : "_doc","_id" : "1","_score" : 1.0,"_source" : {"distance" : 100,"transit_mode" : "mode1"}}]}
}

从上面可以看出来,虽然我们没有使用在source中的distance,但是我们使用它的别名route_length_miles,我们可以照样把我们的统计数据搜索出来。

不被支持的API

不支持写入字段别名:尝试在索引或更新请求中使用别名将导致失败。 同样,别名不能用作copy_to的目标或多字段。

由于文档源中不存在别名,因此在执行源过滤时不能使用别名。 例如,以下请求将返回_source的空结果:

  1. 不支持写入字段别名:尝试在索引或更新请求中使用别名将导致失败。 同样,别名不能用作copy_to的目标或多字段。
  2. 由于文档源中不存在别名,因此在执行源过滤时不能使用别名。 例如,以下请求将返回_source的空结果:

【elasticsearch】Elasticsearch : alias数据类型相关推荐

  1. Elasticsearch:高级数据类型介绍

    在我之前的文章 "Elasticsearch:一些有趣的数据类型",我已经介绍了一下很有趣的数据类型.在今天的文章中,我再进一步介绍一下高级的数据类型,虽然这里的数据类型可能和之前 ...

  2. Elasticsearch:Flattened 数据类型映射

    在本文中,我们将了解为了更好地处理包含大量或未知数量字段的文档而引入的 Elasticsearch 扁平化数据类型(flattened datatype). 默认情况下,Elasticsearch 会 ...

  3. Elasticsearch _reindex Alias使用

    ES数据库重建索引--Reindex(数据迁移) 应用背景: 1.当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex. ...

  4. Elasticsearch:flattened 数据类型 (7.3 发行版新功能)

    默认情况下,对象中的每个子字段都需要分别进行映射和索引.如果事先不知道子字段的名称或类型,则将动态映射它们. flattened 数据类型提供了一种替代方法,其中将整个对象映射为单个字段.对于给定的对 ...

  5. ElasticSearch的Object数据类型

    上一篇mapping文章我们知道数字类型和日期类型要精确查找,以及mapping的两个重要的作用. 所以创建索引的时候,是不是可以预先定义字段的类型以及相关属性,这样就能够把日期字段处理成日期,把数字 ...

  6. elasticsearch 基础 —— 字段数据类型

    核心数据类型(Core datatypes) 字符型(String datatype):string 数字型(Numeric datatypes):long, integer, short, byte ...

  7. html显示elasticsearch,ElasticSearch查询:高亮显示(10)

    什么是高亮显示 根据关键字搜索时,搜索出的内容中的关键字会显示不同的颜色,称之为高亮百度搜索关键字"elasticsearch" 京东商城搜索"iphone xs max ...

  8. ElasticSearch --- elasticsearch.yml配置详解

    一.Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的. es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集 ...

  9. [Elasticsearch] Elasticsearch权威指南翻译目录

    为了方便大家能够更加快速地找到自己需要参考的那部分,对已经翻译完成的部分根据权威指南的目录做了相应目录,希望能够有所帮助. 起步(Getting Started) 1. 你懂的,为了搜索 英文原文链接 ...

最新文章

  1. 【JavaScript】AJAX教程
  2. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统 (Part 1)
  3. iOS 录音功能的实现
  4. python官网 中文版 新闻-小伙Python爬虫并自制新闻网站,太好玩了
  5. php 检查图片重复度,php – 检测图片的“整体平均”颜色
  6. 河北职称计算机Excel一,2012年河北省职称计算机Excel操作练习一.doc
  7. 头条 上传图片大小_【标签头条】北京市启用进口冷链食品追溯平台;全球包裹热潮助推标签业发展;数字水印实现大规模垃圾分类;安慕希的麻将酸奶包装好真实...
  8. 信息学奥赛一本通 1331:【例1-2】后缀表达式的值
  9. 基于python的测试报告自动化生成
  10. 航拍+AI︱paddlepaddle图像分割实现天空风格迁移(换天、漂浮城堡、宇宙飞船)
  11. 中兴计算机笔试题库,中兴计算机笔试
  12. java简单的猜数字游戏
  13. face_recognition 人脸识别
  14. HowTo 激活非常规方式安装的正版OEM Vista
  15. 【BDTC 2016】金融大数据论坛:区块链、智能投顾、快速信贷、投资优化背后技术揭秘...
  16. 啤酒与尿布:数据分析相关性分析案例一
  17. 特别关注:“网络同居”热背后的心理学分析
  18. PNG免抠素材网,免费商用,设计师赶紧马住。
  19. app维持h5登录状态_维持团队设计质量的5种工具
  20. Web端实现邮件发送

热门文章

  1. iOS 14.5广告跟踪功能使广告商在安卓支出增长21%
  2. 全系标配!Redmi K40系列锁定三星E4材质OLED屏幕
  3. 广东中山一楼盘在平台直播卖房 4小时售出600套
  4. 我34岁,曾月入10万,给前员工修汽车
  5. 北京君正:君子爱财,取之补助
  6. 是什么让支付宝网络诈骗案占比逐渐下降?
  7. 双11落下帷幕,天猫、京东战报再创记录,拼多多“失声”...
  8. 2岁男童入住自如后患白血病离世 自如回复:道歉做不到
  9. matlab如何把实验结果记录在文件中,实验一Matlab基本操作
  10. php性能测试xhprof,PHP性能分析之Xhprof的使用