Get Mapping

edit

The get mapping API allows to retrieve mapping definitions for an index or index/type.

GET /twitter/_mapping/_doc

Multiple Indices and Types

edit

The get mapping API can be used to get more than one index or type mapping with a single call. General usage of the API follows the following syntax: host:port/{index}/_mapping/{type} where both {index} and {type} can accept a comma-separated list of names. To get mappings for all indices you can use _all for {index}. The following are some examples:

GET /_mapping/_doc

GET /_all/_mapping/_doc

If you want to get mappings of all indices and types then the following two examples are equivalent:

GET /_all/_mapping

GET /_mapping

Skipping types

edit

Types are being removed from Elasticsearch: in 7.0, the mappings element will no longer return the type name as a top-level key by default. You can already opt in for this behavior by setting include_type_name=false on the request.

Such calls will be rejected on indices that have multiple types as it introduces ambiguity as to which mapping should be returned. Only indices created by Elasticsearch 5.x may have multiple types.

Here is an example:

PUT test?include_type_name=false
{
  "mappings": {
    "properties": {
      "foo": {
        "type": "keyword"
      }
    }
  }
}

GET test/_mappings?include_type_name=false

which returns

{
  "test": {
    "mappings": {
      "properties": {
        "foo": {
          "type": "keyword"
        }
      }
    }
  }
}