2013-08-28 19:24:34 -04:00
|
|
|
[[indices-get-mapping]]
|
|
|
|
== Get Mapping
|
|
|
|
|
2014-03-07 08:21:45 -05:00
|
|
|
The get mapping API allows to retrieve mapping definitions for an index or
|
2013-08-28 19:24:34 -04:00
|
|
|
index/type.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
2017-12-14 11:47:53 -05:00
|
|
|
GET /twitter/_mapping/_doc
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
2016-09-01 13:05:22 -04:00
|
|
|
// CONSOLE
|
|
|
|
// TEST[setup:twitter]
|
2013-08-28 19:24:34 -04:00
|
|
|
|
|
|
|
[float]
|
|
|
|
=== Multiple Indices and Types
|
|
|
|
|
|
|
|
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
|
2014-08-21 13:56:11 -04:00
|
|
|
following syntax: `host:port/{index}/_mapping/{type}` where both
|
2014-03-07 08:21:45 -05:00
|
|
|
`{index}` and `{type}` can accept a comma-separated list of names. To
|
2013-08-28 19:24:34 -04:00
|
|
|
get mappings for all indices you can use `_all` for `{index}`. The
|
|
|
|
following are some examples:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
2017-12-14 11:47:53 -05:00
|
|
|
GET /_mapping/_doc
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2017-12-14 11:47:53 -05:00
|
|
|
GET /_all/_mapping/_doc
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
2016-09-01 13:05:22 -04:00
|
|
|
// CONSOLE
|
|
|
|
// TEST[setup:twitter]
|
2013-08-28 19:24:34 -04:00
|
|
|
|
|
|
|
If you want to get mappings of all indices and types then the following
|
|
|
|
two examples are equivalent:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
2016-09-01 13:05:22 -04:00
|
|
|
GET /_all/_mapping
|
2013-08-28 19:24:34 -04:00
|
|
|
|
2016-09-01 13:05:22 -04:00
|
|
|
GET /_mapping
|
2013-08-28 19:24:34 -04:00
|
|
|
--------------------------------------------------
|
2016-09-01 13:05:22 -04:00
|
|
|
// CONSOLE
|
|
|
|
// TEST[setup:twitter]
|
2018-04-11 09:54:16 -04:00
|
|
|
|
|
|
|
[float]
|
|
|
|
=== Skipping types
|
|
|
|
|
|
|
|
Types are scheduled to be fully removed in Elasticsearch 8.0 and will not appear
|
|
|
|
in requests or responses anymore. You can opt in for this future behaviour by
|
|
|
|
setting `include_type_name=false` in the request, which will return mappings
|
|
|
|
directly under `mappings` without keying by the type name.
|
|
|
|
|
|
|
|
Here is an example:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
PUT test?include_type_name=false
|
|
|
|
{
|
|
|
|
"mappings": {
|
|
|
|
"properties": {
|
|
|
|
"foo": {
|
|
|
|
"type": "keyword"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
GET test/_mappings?include_type_name=false
|
|
|
|
--------------------------------------------------
|
|
|
|
// CONSOLE
|
|
|
|
|
|
|
|
which returns
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
{
|
|
|
|
"test": {
|
|
|
|
"mappings": {
|
|
|
|
"properties": {
|
|
|
|
"foo": {
|
|
|
|
"type": "keyword"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
--------------------------------------------------
|
|
|
|
// TESTRESPONSE
|