本地英文版地址: ../en/indices-get-field-mapping.html
Get field mapping APIedit
Retrieves mapping definitions for one or more fields. This is useful if you don’t need the complete mapping of an index or your index contains a large number of fields.
GET /twitter/_mapping/field/user
Path parametersedit
-
<index> - (Optional, string) Comma-separated list or wildcard expression of index names used to limit the request.
-
<field> - (Optional, string) Comma-separated list or wildcard expression of fields used to limit returned information.
Query parametersedit
-
allow_no_indices -
(Optional, boolean) If
true, the request does not return an error if a wildcard expression or_allvalue retrieves only missing or closed indices.This parameter also applies to index aliases that point to a missing or closed index.
Defaults to
true. -
expand_wildcards -
(Optional, string) Controls what kind of indices that wildcard expressions can expand to. Multiple values are accepted when separated by a comma, as in
open,hidden. Valid values are:-
all - Expand to open and closed indices, including hidden indices.
-
open - Expand only to open indices.
-
closed - Expand only to closed indices.
-
hidden -
Expansion of wildcards will include hidden indices.
Must be combined with
open,closed, or both. -
none - Wildcard expressions are not accepted.
-
-
include_type_name -
[7.0.0]
Deprecated in 7.0.0. Mapping types have been deprecated. See Removal of mapping types.
(Optional, boolean) If
true, a mapping type is expected in the body of mappings. Defaults tofalse. -
ignore_unavailable -
(Optional, boolean) If
true, missing or closed indices are not included in the response. Defaults tofalse. -
include_defaults -
(Optional, boolean) If
true, the response includes default mapping values. Defaults tofalse. -
local -
(Optional, boolean) If
true, the request retrieves information from the local node only. Defaults tofalse, which means information is retrieved from the master node.
Examplesedit
Example with index setupedit
You can provide field mappings when creating a new index. The following
create index API request creates the publications
index with several field mappings.
PUT /publications
{
"mappings": {
"properties": {
"id": { "type": "text" },
"title": { "type": "text"},
"abstract": { "type": "text"},
"author": {
"properties": {
"id": { "type": "text" },
"name": { "type": "text" }
}
}
}
}
}
The following returns the mapping of the field title only:
GET publications/_mapping/field/title
The API returns the following response:
{
"publications": {
"mappings": {
"title": {
"full_name": "title",
"mapping": {
"title": {
"type": "text"
}
}
}
}
}
}
Specifying fieldsedit
The get mapping api allows you to specify a comma-separated list of fields.
For instance to select the id of the author field, you must use its full name author.id.
GET publications/_mapping/field/author.id,abstract,name
returns:
{
"publications": {
"mappings": {
"author.id": {
"full_name": "author.id",
"mapping": {
"id": {
"type": "text"
}
}
},
"abstract": {
"full_name": "abstract",
"mapping": {
"abstract": {
"type": "text"
}
}
}
}
}
}
The get field mapping API also supports wildcard notation.
GET publications/_mapping/field/a*
returns:
{
"publications": {
"mappings": {
"author.name": {
"full_name": "author.name",
"mapping": {
"name": {
"type": "text"
}
}
},
"abstract": {
"full_name": "abstract",
"mapping": {
"abstract": {
"type": "text"
}
}
},
"author.id": {
"full_name": "author.id",
"mapping": {
"id": {
"type": "text"
}
}
}
}
}
}
Multiple indices and fieldsedit
The get field mapping API can be used to get the mapping of multiple fields from more than one index
with a single call. General usage of the API follows the
following syntax: host:port/<index>/_mapping/field/<field> where
<index> and <field> can stand for comma-separated list of names or wild cards. To
get mappings for all indices you can use _all for <index>. The
following are some examples:
GET /twitter,kimchy/_mapping/field/message GET /_all/_mapping/field/message,user.id GET /_all/_mapping/field/*.id