Link Search Menu Expand Document Documentation Menu

别名字段类型

1.0 版引入

别名字段类型为现有字段创建另一个名称。您可以在搜索字段功能 API 操作中使用别名,但有一些例外。要设置别名,您需要在path参数中指定原始字段名称。

示例

PUT movies 
{
  "mappings" : {
    "properties" : {
      "year" : {
        "type" : "date"
      },
      "release_date" : {
        "type" : "alias",
        "path" : "year"
      }
    }
  }
}

参数

参数 描述
路径 原始字段的完整路径,包括所有父对象。例如,parent.child.field_name。必填。

别名字段

别名字段必须遵守以下规则

  • 一个别名字段只能有一个原始字段。
  • 在嵌套对象中,别名必须与原始字段具有相同的嵌套级别。

要更改别名引用的字段,请更新映射。请注意,任何先前存储的渗透查询中的别名仍将引用原始字段。

原始字段

别名的原始字段必须遵守以下规则

  • 原始字段必须在创建别名之前创建。
  • 原始字段不能是对象或另一个别名。

在搜索 API 操作中使用别名

您可以在搜索 API 的以下读取操作中使用别名

  • 查询
  • 排序
  • 聚合
  • stored_fields
  • docvalue_fields
  • 建议
  • 高亮显示
  • 访问字段值的脚本

在字段功能 API 操作中使用别名

要在字段功能 API 中使用别名,请在 fields 参数中指定它。

GET movies/_field_caps?fields=release_date

例外情况

在以下情况下不能使用别名

  • 在写入请求中,例如更新请求。
  • 在多字段中或作为 copy_to 的目标。
  • 作为用于过滤结果的 _source 参数。
  • 在接受字段名称的 API 中,例如术语向量。
  • termsmore_like_thisgeo_shape 查询中(检索文档时不支持别名)。

通配符

在搜索和字段功能通配符查询中,原始字段和别名都与通配符模式匹配。

GET movies/_field_caps?fields=release*

剩余 350 字符

有问题?

想贡献?