Object field type
JSON documents are hierarchical in nature: the document may contain inner objects which, in turn, may contain inner objects themselves:
PUT my-index-000001/_doc/1
{
"region": "US",
"manager": {
"age": 30,
"name": {
"first": "John",
"last": "Smith"
}
}
} | The outer document is also a JSON object. | |
| It contains an inner object called | |
| Which in turn contains an inner object called |
Internally, this document is indexed as a simple, flat list of key-value pairs, something like this:
{
"region": "US",
"manager.age": 30,
"manager.name.first": "John",
"manager.name.last": "Smith"
} An explicit mapping for the above document could look like this:
PUT my-index-000001
{
"mappings": {
"properties": {
"region": {
"type": "keyword"
},
"manager": {
"properties": {
"age": { "type": "integer" },
"name": {
"properties": {
"first": { "type": "text" },
"last": { "type": "text" }
}
}
}
}
}
}
} | Properties in the top-level mappings definition. | |
| The | |
| The |
You are not required to set the field type to object explicitly, as this is the default value.
Parameters for object fields
The following parameters are accepted by object fields:
| Whether or not new | |
| Whether the JSON value given for the object field should be parsed and indexed ( | |
| The fields within the object, which can be of any data type, including |
If you need to index arrays of objects instead of single objects, read Nested first.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/object.html