我使用以下映射创建了一个名为“ t_documents”的索引:
{
"settings": {
"index": {
"mapping.total_fields.limit": "2000",
"number_of_shards": 5,
"number_of_replicas": 1,
}
},
"mappings": {
"properties": {
"id": { "type": "keyword"},
"title": { "type": "keyword"},
"content": { "type": "keyword"},
"file_location": { "type": "keyword"}
}
}
}
我删除了索引,并使用以下映射重新创建: (仅显示“映射”部分)
"mappings": {
"properties": {
"id": { "type": "keyword"},
"title": { "type": "keyword"},
"content": { "type": "keyword"},
"file_location": { "type": "keyword"} ,
"timestamp": { "type": "keyword"}
}
}
我遇到以下错误消息:
root_cause: [{
type: mapper_parsing_exception
reason: Root mapping definition has unsupported parameters: [file_location: {type=keyword}] [content: {type=keyword}] [title: {type=keyword}] [id: {type=keyword}]
}]
当我尝试将其放入全新索引中时也会发生这种情况。
我在ElasticSearch网站上也找不到任何有用的信息。
答案 0 :(得分:0)
我找到了解决方案。
为索引创建空白映射
PUT /t_documents
{}
然后,对索引中的每个字段执行此操作
PUT /t_documents/_mapping/{field name}
{ "properties": {
"{field name}": {
"type": ...
}
}
}