好的,这是任务:
我已经阅读了整个文档,我注意到我可以升级"一个数据类型,如字符串到多字段 - 在测试场景中它已经有效。
我的文件结构目前是:
{
"name": "test",
"words": [
{
"words": "hello world",
"verts": [
1,
2,
3
]
}
]
}
这些文档是使用默认映射创建的 - 因此没有明确设置映射。
我发出的XDELETE命令包含如下数据:
{
"article": {
"properties": {
"words": {
"type": "multi_field",
"fields": {
"words": {
"type": "string",
"index": "analyzed"
},
"untouched": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
但我在这里收到此错误:
{"错误":" MergeMappingException [合并因失败而失败{[Can&#t; t 合并非multi_field /非简单映射[words]与a multi_field mapping [words]]}]"," status":400}
有人可以向我解释,为什么会这样?当我将这个映射发布到一个干净的索引时,它可以工作,并且正在应用not_analyzed过滤器。
谢谢:)
扬
答案 0 :(得分:1)
由于文档中的“words”字段具有自己的属性(“words”和“verts”),因此无法将其“升级”为multi_field。但是,如果您有像
这样的映射{
"article": {
"properties": {
"words": {
"properties": {
"words": {
"type": "multi_field",
"fields": {
"words": {
"type": "string",
"index": "analyzed"
},
"untouched": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
}
然后一切都应该成功。