Привет всем, я пытаюсь создать схему Test.
PUT /test
{
"mappings": {
"field1": {
"type": "integer"
},
"field2": {
"type": "integer"
},
"field3": {
"type": "string",
"index": "not_analyzed"
},
"field4": {
"type": "string",
"analyzer": "autocomplete",
"search_analyzer": "standard"
}
},
"settings": {
bla
bla
bla
}
}
Я получаю следующую ошибку
{
"error": {
"root_cause": [{
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]"
}],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [featured]: Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]"
}
},
"status": 400
}
Пожалуйста, помогите мне разрешить эту ошибку
elasticsearch
mapping
Рамеш
источник
источник
test
- это имя вашего индекса иtype_name
имя вашего типа сопоставления.type_name
это не работает. Я использую изображение докера elasticsearch-oss: 7.20Я надеюсь, что приведенный выше ответ работает для эластичного поиска <7.0, но в 7.0 мы не можем указать тип документа, и он больше не поддерживается. И в этом случае, если мы укажем тип документа, мы получим аналогичную ошибку.
Если вы используете эластичный поиск 7.0 и последнюю версию Nest C # (6.6). В ES 7.0 есть критические изменения, которые вызывают эту проблему. Это связано с тем, что мы не можем указать тип документа, а в версии 6.6 NEST используется doctype. Итак, чтобы решить эту проблему до выпуска NEST 7.0, нам нужно загрузить их бета-пакет.
Пожалуйста, пройдите по этой ссылке, чтобы исправить это
https://xyzcoder.github.io/elasticsearch/nest/2019/04/12/es-70-and-nest-mapping-error.html
РЕДАКТИРОВАТЬ: NEST 7.0 выпущен. NEST 7.0 работает с Elastic 7.0. Подробнее см. Примечания к выпуску .
источник
Проверьте свою версию Elastic.
У меня возникла эта проблема, потому что я просматривал документацию по неверной версии.
источник
Начиная с ES 7, типы сопоставления были удалены. Вы можете прочитать больше здесь
Если вы используете Ruby On Rails, это означает, что вам может потребоваться удалить его
document_type
из своей модели или проблемы.В качестве альтернативы сопоставлению типов одним из решений является использование индекса для каждого типа документа.
До:
После:
источник
Вот похожая команда, которую я знаю, работает:
Разбивка приведенной выше команды curl:
источник