# _default_ mapping(mapping中的_default_)

在一个将被用于映射任何类型的基本mapping中，在[创建索引](/pages/viewpage.action?pageId=4882789)时或者调用[PUT mapping](/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](/display/Elasticsearch/_all+field)字段设置为禁用，该mapping中的所有类型的_all字段默认为禁用。 |
| 2 | user类型从_default_中继承相关设置。 |
| 3 | blogpost类型覆盖相关默认值，并且启用[_all](/display/Elasticsearch/_all+field)字段。 |

Tips

当使用[PUT mapping](/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字段中。 |

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/default-mapping.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/default-mapping.html)（修改该链接为官网对应的链接）

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=9405471](http://www.apache.wiki/pages/viewpage.action?pageId=9405471)（修改该链接为 **ApacheCN** 对应的译文链接）

贡献者 : [曾少峰](/display/~zengshaofeng)，[ApacheCN](/display/~apachecn)，[Apache中文网](/display/~apachechina)