
Elasticsearch 8.x Cookbook
By :

Sometimes, when we are working with our mapping, we may need to store some additional data to be used for display purposes, ORM facilities, permissions, or simply to track them in the mapping.
Elasticsearch allows you to store every kind of JSON data you want in the mapping with the special _meta
field.
You will need an up-and-running Elasticsearch installation, as we described in the Downloading and installing Elasticsearch recipe of Chapter 1, Getting Started.
The _meta
mapping field can be populated with any data we want in JSON format, like so:
{ "_meta": { "attr1": ["value1", "value2"], "attr2": { "attr3": "value3" } } }
When Elasticsearch processes a new mapping and finds a _meta
field, it stores it as-is in the global mapping status and propagates the information to all the cluster nodes. The content of the _meta
files is only checked to ensure it's a valid JSON format. Its content is not taken into consideration by Elasticsearch. You can populate it with everything you need to be in JSON format.
_meta
is only used for storing purposes; it's not indexed and searchable. It can be used to enrich your mapping with custom information that can be used by your applications.
It can be used for the following reasons:
{"name": "Address", "description": "This entity store address information"}
{"class": "com.company.package.AwesomeClass", "properties" : { "address":{"class": "com.company.package.Address"}} }
{"read":["user1", "user2"], "write":["user1"]}
icon
filename, which is used to display the type):{"icon":"fa fa-alert" }
{"fragment":"<div><h1>$name</h1><p>$description</p></div>" }