{
"someindex": {
"aliases": {
"somealias": {}
},
"mappings": {},
"settings": {
"index": {
"number_of_shards": "5",
"provided_name": "someindex",
"creation_date": "1547325991414",
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge_ngram",
"min_gram": "1",
"max_gram": "20"
}
},
"normalizer": {
"lowerCaseNormalizer": {
"filter": [
"lowercase"
],
"type": "custom"
}
},
"analyzer": {
"standard": {
"filter": [
"lowercase",
"autocomplete_filter"
],
"type": "custom",
"tokenizer": "standard"
}
}
},
"number_of_replicas": "1",
"uuid": "9vrt0U90RWG-4MRQEIbj6w",
"version": {
"created": "6050499"
}
}
}
}
}
Выше приведена структура моей недавно созданной структуры. В моей текущей настройке у меня есть атрибут с именем bookName в моем текущем индексе, для которого выполняется текущее отображение, как показано ниже:
{
"bookName": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256,
"normalizer": "lowerCaseNormalizer"
}
}
}
}
Теперь, когда я пытаюсь переиндексировать мой новый индекс с именем " someindex " и хочу вставить новое отображение для поля bookName, это вызывает ошибку. "
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [mappings : {details={properties={suggest={type=completion}, bookName={type=text, analyzer=standard}}}}]"
}
],
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [mappings : {details={properties={suggest={type=completion}, bookName={type=text, analyzer=standard}}}}]"
},
"status": 400
}
Я перепробовал все и смог сделать это с нуля на случайных данных для тестирования. Но я должен представить эту функцию в своем проекте, и у меня есть один индекс эластичности, готовый к различным сопоставлениям. Миграция очень беспокоит меня. Может ли кто-нибудь подсказать мне, как этого добиться?
Примечание. Я перепробовал все, искал документы Elastic и все соответствующие ссылки. Я могу сделать это на новом наборе данных, но миграция - это реальная проблема для меня, так как я новичок в этой области.