企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# _default_ mapping(mapping中的_default_) 在一个将被用于映射任何类型的基本mapping中,在[创建索引](http://cwiki.apachecn.org/pages/viewpage.action?pageId=4882789)时或者调用[PUT mapping](http://cwiki.apachecn.org/pages/viewpage.action?pageId=4882803) API时,我们可以通过添加一个名为_default_的映射类型来定制一个索引。 | `PUT my_index` `{` `"mappings"``: {` `"_default_"``: {                ``#1` `"_all"``: {` `"enabled"``: ``false` `}` `},` `"user"``: {},                   ``#2` `"blogpost"``: {                 ``#3` `"_all"``: {` `"enabled"``: ``true` `}` `}` `}}` | | 1 | 在mapping的_default_中,将[_all](http://cwiki.apachecn.org/display/Elasticsearch/_all+field)字段设置为禁用,该mapping中的所有类型的_all字段默认为禁用。 | | 2 | user类型从_default_中继承相关设置。 | | 3 | blogpost类型覆盖相关默认值,并且启用[_all](http://cwiki.apachecn.org/display/Elasticsearch/_all+field)字段。 | Tips 当使用[PUT mapping](http://cwiki.apachecn.org/pages/viewpage.action?pageId=4882803) API更新mapping的_default_时,新的mapping不会与现有的mapping合并。相反,新的mapping的_defalut_会替换现有的。 虽然mapping的_default_可以在索引创建后更新,但是新的默认值只会影响之后创建的映射类型。 mapping中的_default_可以与索引模板一起使用,用来控制自动创建的索引中动态创建的类型。 | `PUT _template``/logging` `{` `"template"``:   ``"logs-*"``,                                 ``#1` `"settings"``: { ``"number_of_shards"``: 1 },                  ``#2` `"mappings"``: {` `"_default_"``: {` `"_all"``: {                                           ``#3` `"enabled"``: ``false` `},` `"dynamic_templates"``: [` `{` `"strings"``: {                                    ``#4` `"match_mapping_type"``: ``"string"``,` `"mapping"``: {` `"type"``: ``"text"``,` `"fields"``: {` `"raw"``: {` `"type"``:  ``"keyword"``,` `"ignore_above"``: 256` `}` `}` `}` `}` `}` `]` `}` `}}` `PUT logs-2015.10.01``/event/1``{ ``"message"``: ``"error:16"` `}` | | 1 | logging模板将匹配以logs-开头的任何索引。 | | 2 | 匹配的索引将会创建单个主分片。 | | 3 | 在新的映射类型中,_all字段将会被默认禁用。 | | 4 | 字符串字段将会被创建到名为text的主字段和一个 keyword.raw字段中。 |