Format
The format
mapping parameter specifies the built-in date formats that a date field can accept during indexing. By defining the expected date formats, you ensure that date values are correctly parsed and stored, facilitating accurate search and aggregation operations.
Example: Defining a custom date format
Create an events
index with the event_date
field configured to a custom yyyy-MM-dd HH:mm:ss
date format:
PUT events
{
"mappings": {
"properties": {
"event_date": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
Index a document using the specified format for the event_date
field:
PUT events/_doc/1
{
"event_name": "Conference",
"event_date": "2025-03-26 15:30:00"
}
Example: Using multiple date formats
Create an index containing a log_timestamp
field, which accepts both the custom yyyy-MM-dd HH:mm:ss
date format and the epoch_millis
format:
PUT logs
{
"mappings": {
"properties": {
"log_timestamp": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||epoch_millis"
}
}
}
}
Index the first document using the custom format:
PUT logs/_doc/1
{
"message": "System rebooted",
"log_timestamp": "2025-03-26 08:45:00"
}
Index the second document using the millisecond format:
PUT logs/_doc/2
{
"message": "System updated",
"log_timestamp": 1711442700000
}
Built-in date formats
For a comprehensive list of built-in date formats, see Built-in formats.