Dynamic mapping

edit

One of the most important features of Elasticsearch is that it tries to get out of your way and let you start exploring your data as quickly as possible. To index a document, you don’t have to first create an index, define a mapping type, and define your fields — you can just index a document and the index, type, and fields will display automatically:

resp = client.index(
    index="data",
    id="1",
    document={
        "count": 5
    },
)
print(resp)
response = client.index(
  index: 'data',
  id: 1,
  body: {
    count: 5
  }
)
puts response
const response = await client.index({
  index: "data",
  id: 1,
  document: {
    count: 5,
  },
});
console.log(response);
PUT data/_doc/1 
{ "count": 5 }

Creates the data index, the _doc mapping type, and a field called count with data type long.

The automatic detection and addition of new fields is called dynamic mapping. The dynamic mapping rules can be customized to suit your purposes with:

Dynamic field mappings
The rules governing dynamic field detection.
Dynamic templates
Custom rules to configure the mapping for dynamically added fields.

Index templates allow you to configure the default mappings, settings and aliases for new indices, whether created automatically or explicitly.