0
0
Elasticsearchquery~20 mins

Date field types in Elasticsearch - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Date Field Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this date mapping query?
Given this Elasticsearch mapping for a date field, what will be the stored format of the date?

{
  "mappings": {
    "properties": {
      "created_at": {
        "type": "date",
        "format": "yyyy-MM-dd HH:mm:ss||epoch_millis"
      }
    }
  }
}
Elasticsearch
POST /my_index/_doc
{
  "created_at": "2024-06-15 14:30:00"
}
AThe date is parsed and stored as milliseconds since epoch (epoch_millis)
BThe date is stored as a string exactly as "2024-06-15 14:30:00"
CThe date is stored as a Unix timestamp in seconds
DThe date is stored as a text field without parsing
Attempts:
2 left
💡 Hint
Check the format property and how Elasticsearch parses dates.
Predict Output
intermediate
2:00remaining
What happens if a date does not match the format?
Consider this mapping:

{
  "mappings": {
    "properties": {
      "event_date": {
        "type": "date",
        "format": "yyyy/MM/dd"
      }
    }
  }
}

What happens if you index a document with:
{ "event_date": "2024-06-15" }
AElasticsearch throws a parsing exception and rejects the document
BThe event_date field is stored as null
CElasticsearch stores the date as a string without parsing
DThe document is indexed successfully with event_date parsed as 2024-06-15
Attempts:
2 left
💡 Hint
The date format must exactly match the input string.
🔧 Debug
advanced
2:00remaining
Why does this date mapping cause an error?
This mapping causes an error when creating the index:

{
  "mappings": {
    "properties": {
      "log_time": {
        "type": "date",
        "format": "strict_date_optional_time||epoch_millis||yyyy-MM-dd HH:mm:ss"
      }
    }
  }
}

What is the cause of the error?
AThe format string is missing a separator between formats
BThe format string uses an invalid date pattern with spaces
CThe format string is too long and exceeds Elasticsearch limits
DThe format string mixes strict and non-strict formats causing a conflict
Attempts:
2 left
💡 Hint
Check how strict_date_optional_time interacts with other formats.
🧠 Conceptual
advanced
2:00remaining
How does Elasticsearch handle multiple date formats in one field?
If a date field mapping specifies multiple formats separated by ||, how does Elasticsearch process an incoming date string?
AIt requires the date string to match all formats simultaneously
BIt uses only the first format and ignores the rest
CIt tries each format in order until one matches the date string
DIt randomly picks one format to parse the date string
Attempts:
2 left
💡 Hint
Think about how flexible date parsing works.
Predict Output
expert
2:00remaining
What is the output of this date range query?
Given this mapping and documents:

{
  "mappings": {
    "properties": {
      "timestamp": {
        "type": "date",
        "format": "epoch_millis"
      }
    }
  }
}

POST /my_index/_bulk
{ "index": {} }
{ "timestamp": 1686787200000 }
{ "index": {} }
{ "timestamp": 1686873600000 }

What documents match this query?
{
  "query": {
    "range": {
      "timestamp": {
        "gte": "1686787200000",
        "lt": "1686873600000"
      }
    }
  }
}
ANo documents match
BOnly the first document matches
CBoth documents match
DOnly the second document matches
Attempts:
2 left
💡 Hint
Check the range boundaries and timestamp values carefully.