Description
The migration plugin is complaining that I have type-level analyzers configured for all my types:
Type-level analyzer settings
analyzer, search_analyzer and index_analyzer settings have been removed and will use the index defaults instead, in type: foo.
I've pinned it down to the default_index
and default_search
definitions on the index analysis settings.
curl -XPUT localhost:9200/test -d '
{
"index": {
"analysis": {
"analyzer": {
"default_search": {
"filter": [
"standard",
"lowercase",
"stop",
"asciifolding"
],
"tokenizer": "standard",
"type": "custom"
},
"default_index": {
"filter": [
"standard",
"lowercase",
"stop",
"asciifolding"
],
"tokenizer": "standard",
"type": "custom"
}
}
}
}
}
'
curl -XPUT localhost:9200/test/foo/_mapping -d '{"foo": {"properties":{}}}'
curl -XGET localhost:9200/test/foo/_mapping?pretty
{
"test" : {
"mappings" : {
"foo" : {
"index_analyzer" : "default_index",
"search_analyzer" : "default_search",
"properties" : { }
}
}
}
}
Is the how the intended behaviour of default_index
and default_search
(to set type-level analyzers)?
Does this mean in 2.0 I have to explicitly set the analyzers for all string fields now rather than being able to use a default that I define?
Perhaps the docs for default analyzers also needs updating then?
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html#default-analyzers