1、在Kibana创建索引的时候报错,使用的elasticsearch版本是7.2.1版本。
1 PUT /person 2 { 3 "settings": { 4 "number_of_shards": "10", 5 "number_of_replicas": "0", 6 "refresh_interval": "-1" 7 }, 8 "mappings": { 9 "properties": { 10 "update_time": { 11 "format": "yyyy-MM-dd HH:mm:ss", 12 "type": "date" 13 }, 14 "username": { 15 "type": "keyword" 16 }, 17 "address": { 18 "type": "keyword" 19 } 20 } 21 } 22 }
报错,如下所示:
1 { 2 "error": { 3 "root_cause": [{ 4 "type": "mapper_parsing_exception", 5 "reason": "Root mapping definition has unsupported parameters: [project_evaluate : {properties={update_time={format=yyyy-MM-dd HH:mm:ss, type=date}, username={type=keyword}, address={type=keyword}}}]" 6 }], 7 "type": "mapper_parsing_exception", 8 "reason": "Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters: [project_evaluate : {properties={update_time={format=yyyy-MM-dd HH:mm:ss, type=date}, username={type=keyword}, address={type=keyword}}}]", 9 "caused_by": { 10 "type": "mapper_parsing_exception", 11 "reason": "Root mapping definition has unsupported parameters: [project_evaluate : {properties={update_time={format=yyyy-MM-dd HH:mm:ss, type=date}, username={type=keyword}, address={type=keyword}}}]" 12 } 13 }, 14 "status": 400 15 }
具体原因是ElasticSearch 7.x 默认不在支持指定索引类型。所以在ElasticSearch 7.x中不指定索引类型,创建索引是成功的。
但是对于ElasticSearch 6.x执行时没有问题的,Elasticsearch7默认不在支持指定索引类型,默认索引类型是_doc,索引不再推荐创建索引类型了,使用默认的即可。因为elasticsearch8后就不在提供该字段。