【发布时间】:2019-08-16 17:41:30
【问题描述】:
我正在使用 Elasticsearch 别名字段来重命名映射中的某些字段,而无需重新索引所有内容。效果很好。现在我也想重命名一些多字段,如下所示:
"message":{
"type":"text",
"fields":{
"raw":{
"type":"keyword"
}
}
}
这是一个名为 message 的分析字段和一个名为 message.raw 的关键字版本。我可以像这样为message 起一个别名:
"title":{
"type":"alias",
"path":"message"
}
但我似乎无法弄清楚如何为 message.raw 字段设置别名。我尝试了不同的方法。
怀疑这可以通过仅使用 title.raw 并希望 Elasticsearch 将其转换为 message.raw 来开箱即用。没用。
将
raw指定为title中的字段:
"title":{
"type":"alias",
"path":"message",
"fields":{
"raw":{
"type":"alias",
"path":"message.raw"
}
}
}
更新映射时会产生以下错误:[title] 的映射定义具有不受支持的参数:[fields : {raw={type=alias, path=message.raw}}]
- 将
title.raw指定为新字段:
"title":{
"type":"alias",
"path":"message"
},
"title.raw":{
"type":"alias",
"path":"message.raw"
}
这会导致错误:无法将字段别名映射 [title] 与不是字段别名的映射合并。
是否以某种方式支持?
【问题讨论】:
标签: elasticsearch