Field Aliases

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

在 Elasticsearch中,我们也可以为 index 中的一个字段(field)取一个另外的名字, 它可以用来代替搜索请求中的目标(target)字段

通常 alias 可以用来帮助我们重新命名一个字段,并让这个字段的名称符合我们的命名规则。这个操作不需要reindex, 也不会对已有数据造成更改

Field Aliases测试

reviews中的content添加一个alias,命名为comment

PUT /reviews/_mapping
{
  "properties":{
    "comment":{
      "type": "alias",
      "path": "content"
    }
  }
}

image-20220717231240705

使用content字段进行查询:

image-20220717231450475

使用comment字段进行查询,查询出的结果和上面一样:


GET /reviews/_search
{
  "query": {
    "match": {
      "comment": "outstanding"
    }
  }
}

image-20220717231516983

field aliases一样,索引也支持别名操作: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index-aliases.html 索引别名就像一个快捷方式或是软连接