ElasticSearch 5:使用multi_field的MapperParserException

时间:2016-10-28 08:30:57

标签: java elasticsearch mapping

此映射已与ES 2.X一起使用,现在使用ES 5我得到例外:

{  
"type1":{  
    "properties":{  
        "name":{  
            "type":"multi_field",
            "fields":{  
                "name":{  
                    "type":"string",
                    "index_analyzer":"standard",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                },
                "name_autocomplete":{  
                    "type":"string",
                    "index_analyzer":"autocomplete",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                }
            }
        }
    }
}

}

例外是:

在[name]

上声明的[multi_field]类型没有处理程序

有人有想法吗?谢谢! ;)

1 个答案:

答案 0 :(得分:12)

multi-field在ES 1.x中已弃用,已在ES 5.x中完全删除。

现在可以使用fields支持多个字段,您可以这样指定:

{  
  "type1":{  
    "properties":{  
        "name":{  
            "type":"text",
            "analyzer":"standard",
            "index":"analyzed",
            "store":"no",
            "search_analyzer":"standard"
            "fields": {
                "autocomplete":{  
                    "type":"text",
                    "analyzer":"autocomplete",
                    "index":"analyzed",
                    "store":"no",
                    "search_analyzer":"standard"
                }
            }
        }
    }
  }
}