就像其他的很多语言一样,我们可以给已有的变量取一个别名(alias)。即便是对高级语言一样,比如我们定义不同的指针变量,指向同一个内存空间。这个有些类似别名的概念。
在 Elasticsearch中,我们也可以为 index 中的一个字段(field)取一个另外的名字, 它可以用来代替搜索请求中的目标(target)字段
通常 alias 可以用来帮助我们重新命名一个字段,并让这个字段的名称符合我们的命名规则。这个操作不需要reindex
, 也不会对已有数据造成更改
对reviews
中的content
添加一个alias,命名为comment
:
PUT /reviews/_mapping
{
"properties":{
"comment":{
"type": "alias",
"path": "content"
}
}
}
使用content
字段进行查询:
使用comment
字段进行查询,查询出的结果和上面一样:
GET /reviews/_search
{
"query": {
"match": {
"comment": "outstanding"
}
}
}
和field aliases
一样,索引也支持别名操作: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index-aliases.html 索引别名就像一个快捷方式或是软连接