_meta field
A mapping type can have custom meta data associated with it. These are not used at all by Elasticsearch, but can be used to store application-specific metadata, such as the class that a document belongs to:
resp = client.indices.create(
index="my-index-000001",
mappings={
"_meta": {
"class": "MyApp::User",
"version": {
"min": "1.0",
"max": "1.3"
}
}
},
)
print(resp) response = client.indices.create(
index: 'my-index-000001',
body: {
mappings: {
_meta: {
class: 'MyApp::User',
version: {
min: '1.0',
max: '1.3'
}
}
}
}
)
puts response const response = await client.indices.create({
index: "my-index-000001",
mappings: {
_meta: {
class: "MyApp::User",
version: {
min: "1.0",
max: "1.3",
},
},
},
});
console.log(response); PUT my-index-000001
{
"mappings": {
"_meta": {
"class": "MyApp::User",
"version": {
"min": "1.0",
"max": "1.3"
}
}
}
} | This |
The _meta field can be updated on an existing type using the update mapping API:
resp = client.indices.put_mapping(
index="my-index-000001",
meta={
"class": "MyApp2::User3",
"version": {
"min": "1.3",
"max": "1.5"
}
},
)
print(resp) response = client.indices.put_mapping(
index: 'my-index-000001',
body: {
_meta: {
class: 'MyApp2::User3',
version: {
min: '1.3',
max: '1.5'
}
}
}
)
puts response const response = await client.indices.putMapping({
index: "my-index-000001",
_meta: {
class: "MyApp2::User3",
version: {
min: "1.3",
max: "1.5",
},
},
});
console.log(response); PUT my-index-000001/_mapping
{
"_meta": {
"class": "MyApp2::User3",
"version": {
"min": "1.3",
"max": "1.5"
}
}
}
© 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/8.17/mapping-meta-field.html