reason": "Root mapping definition has unsupported parameters:

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后就不在提供该字段。

posted on 2021-08-13 18:11  别先生  阅读(828)  评论(0编辑  收藏  举报