别名数据类型
只能在具有单一映射类型的索引上指定别名数据类型。必须在 6.0 以后的版本,或者设置了 index.mapping.single_type: true
的更早版本才可以使用别名类型。参考 移除映射类型。
一个别名映射为索引中的一个字段定义了一个备用名。别名可以用来代替搜索请求中的目标字段,以及用在 field capabilities
。
PUT trips
{
"mappings": {
"_doc": {
"properties": {
"distance": {
"type": "long"
},
"route_length_miles": {
"type": "alias",
"path": "distance"
},
"transit_mode": {
"type": "keyword"
}
}
}
}
}
GET _search
{
"query": {
"range" : {
"route_length_miles" : {
"gte" : 39
}
}
}
}
注:指向目标字段的路径必须是全路径,包括任何父对象。
搜索请求几乎所有的组件都接受字段别名。特别的,别名可以用在查询、聚合、排序字段中,以及在请求时的 docvalue_fields
,stored_fields
,建议和高亮。当访问字段值的时候脚本也支持别名。