Wiesi Wiesi - 1 month ago 60
Java Question

ElasticSearch 5: MapperParserException with multi_field

This mapping hast worked with ES 2.X, now with ES 5 I get an exception:

{
"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"
}
}
}
}
}


}

The exception is:

No handler for type [multi_field] declared on field [name]

Someone an idea? Thanks! ;)

Val Val
Answer

multi-field was deprecated in ES 1.x and completely removed in ES 5.x.

Now multi fields are supported via the use of fields which you can specify like this:

{  
  "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"
                }
            }
        }
    }
  }
}
Comments