Elasticsearch : alias数据类型
就像其他的很多语言一样,我们可以给已有的变量取一个别名(alias)。即便是对高级语言一样,比如我们定义不同的指针变量,指向同一个内存空间。这个有些类似别名的概念。
在Elasticsearch中,我们也可以为index中的一个字段(field)取一个另外的名字:
- 它可以用来代替搜索请求中的目标(target)字段
- 以及其它的被选定的API中
通常alias可以用来帮助我们重新命名一个字段,并让这个字段的名称符合我们的命名规则。我们可以参考ECS。通过alias的使用,可以使得我们的字段根据符合ECS标准。一个字段的alias只能有一个目标字段。
在使用alias时,字段别名的目标有一些限制:
- 它必须是一个具体的字段(不是一个对象或者是另外一个alias)
- 它必须在alias被创建时已经存在
- 如果是一个nested的对象,那么alias必须具有和它的目标具有同样的nested scope
一个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的空结果:
- 不支持写入字段别名:尝试在索引或更新请求中使用别名将导致失败。 同样,别名不能用作copy_to的目标或多字段。
- 由于文档源中不存在别名,因此在执行源过滤时不能使用别名。 例如,以下请求将返回_source的空结果:
Elasticsearch : alias数据类型的更多相关文章
- Elasticsearch alias别名管理小结
Elasticsearch alias别名管理小结 By:授客 QQ:1033553122 建创测试数据 1 创建别名 2 移除别名 3 创建测试数据 4 批量操作 5 例1. 5 例2. 把多个索引 ...
- Elasticsearch 字段数据类型
Elasticsearch 可以支持单个document中含有多个不同的数据类型. 核心数据类型(Core datatypes) 字符型(String datatype):string 数字型(Num ...
- Elasticsearch 中数据类型 text 与 keyword 的区别
随着ElasticSearch 5.X 系列的到来, 同时也迎来了该版本的重大特性之一: 移除了string类型. 这个变动的根本原因是string类型会给我们带来很多困惑: 因为ElasticSea ...
- elasticsearch alias
索引别名API允许使用一个名字来作为一个索引的别名,所有API会自动将别名转换为实际的索引名称. 别名也可以映射到多个索引,别名不能与索引具有相同的名称.别名可以用来做索引迁移和多个索引的查询统一,还 ...
- Elasticsearch:Index alias
现在让我们来谈谈Elasticsearch最简单和最有用的功能之一:别名 (alias).为了区分这里alias和文章"Elasticsearch : alias数据类型",这里的 ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作(二)
CSSDesk body { background-color: #2574b0; } /*! zybuluo */ article,aside,details,figcaption,figure,f ...
- 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据操作
http://www.cnblogs.com/wgp13x/p/4934521.html 内容一样,样式好的版本. 使用Hive或Impala执行SQL语句,对存储在Elasticsearch中的数据 ...
- Elasticsearch(八)【NEST高级客户端--Mapping映射】
要使用NEST与Elasticsearch进行交互,我们需要能够将我们的解决方案中的POCO类型映射到存储在Elasticsearch中的反向索引中的JSON文档和字段.本节介绍NEST中可用的所有不 ...
- Elasticsearch系列---初识搜索
概要 本篇主要介绍搜索的报文结构含义.搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比. 空搜索 搜索API最简单的形式是不指定索引和类型的空搜索,它将返 ...
随机推荐
- 利用MATLAB仿真最小发射功率下WSN的连通性和覆盖率
一.目的 (1)在固定节点个数的前提下,仿真求得使网络保持连通的最小通信半径(最低能级). (2)在上述节点个数和通信半径的前提下,计算随机布撒的节点的覆盖率. 二.方法描述 (1)首先假设通信半径都 ...
- 通过memberlist库实现gossip管理集群以及集群数据交互
通过memberlist库实现gossip管理集群以及集群数据交互 概述 memberlist库的简单用法如下,注意下面使用for循环来执行list.Join,原因是一开始各节点都没有runing,直 ...
- nexus org.sonatype.nexus.bootstrap.jetty.JettyServer - Start failed
INFO [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Runningjvm 1 | 2020-04- ...
- 003 Jwt登录流程图
用户\角色\权限 用户是一个基本的单位 用户和角色的关系是多对多,所以要有一张保存用户和角色关系的中间表 角色也不能直接决定这个用户能做什么操作,有哪些权限, 需要再关联权限表决定 角色和权限也是多对 ...
- intellidea 快捷键-*01
快捷键: 0.竖向选择文本: alt+shift+insert:https://www.cnblogs.com/JonaLin/p/11422110.html 如果想修改快捷键(setting-> ...
- 解决报错ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code
问题的由来 MySQL服务没有正常关机,是电脑没电后自动关机产生,记录一下排查过程 1.本以为是pid的问题,上网找了教程,解决不了,然后看日志看了网上各种说是数据库内存溢出 2021-03-12T1 ...
- 【学习笔记】带你从0开始学习 01Trie
01Trie Section 1:普通 Trie Section 1.1 什么是 Trie Trie 树,即字典树,是一种树形结构.典型应用是用于统计和排序大量的字符串前缀来减少查询时间,最大限度地减 ...
- 【ASP.NET Core】选项模式的相关接口
在 .NET 中,配置与选项模式其实有联系的(这些功能现在不仅限于 ASP.NET Core,而是作为平台扩展来提供,在其他.NET 项目中都能用).配置一般从多个来源(上一篇水文中的例子,记得否?) ...
- ASP.NET Web 应用 Docker踩坑历程——续
ASP.NET Web 应用 Docker踩坑历程发表后,也开始使用Docker了,然而发布的过程比较痛苦,经常发生下图的事情: 据说是nuget包还原时发生错误 百度了半天也找不到解决的方法,而发生 ...
- Minimax 社论
目录 题面 题解 代码 Reference 题面 LOJ #2537 / 洛谷 P5298 「PKUWC2018」Minimax 一棵有根二叉树 \(\mathcal T\) . 定义结点 \(x\) ...