The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true. 柔光的暖阳◎ 2022-10-11 12:17 80阅读 0赞 # 一、前言 # 在创建es索引的时候,会遇到这样的错误: 创建语句: PUT /griffin { "aliases": {}, "mappings": { "_doc": { "properties": { "name": { "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } }, "type": "text" }, "tmst": { "type": "date" } } } }, "settings": { "index": { "number_of_replicas": "2", "number_of_shards": "5" } } } { "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true." } ], "type": "illegal_argument_exception", "reason": "The mapping definition cannot be nested under a type [_doc] unless include_type_name is set to true." }, "status": 400 } 原因是:不能在type类型上创建映射 , 在es7中已经在内部取消了, type。 # 二、解决方案 # 去掉 \_doc , 就可以了 PUT /griffin { "aliases": {}, "mappings": { "properties": { "name": { "fields": { "keyword": { "ignore_above": 256, "type": "keyword" } }, "type": "text" }, "tmst": { "type": "date" } } }, "settings": { "index": { "number_of_replicas": "2", "number_of_shards": "5" } } }
还没有评论,来说两句吧...