Bird
Raised Fist0
Elasticsearchquery~10 mins

Exists query in Elasticsearch - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to check if the field "user" exists in the document.

Elasticsearch
{
  "query": {
    "exists": {
      "field": "[1]"
    }
  }
}
Drag options to blanks, or click blank then click option'
Auser
Bname
Cage
Demail
Attempts:
3 left
💡 Hint
Common Mistakes
Using a field name that does not exist in the document.
Forgetting to put the field name as a string.
2fill in blank
medium

Complete the code to find documents where the field "status" exists.

Elasticsearch
{
  "query": {
    "exists": {
      "field": "[1]"
    }
  }
}
Drag options to blanks, or click blank then click option'
Astatus
Buser
Cdate
Dlocation
Attempts:
3 left
💡 Hint
Common Mistakes
Using a field name unrelated to the query purpose.
Misspelling the field name.
3fill in blank
hard

Fix the error in the exists query to check for the field "email".

Elasticsearch
{
  "query": {
    "exists": {
      "field": [1]
    }
  }
}
Drag options to blanks, or click blank then click option'
Aemail
Bemail_field
C"email"
D'email'
Attempts:
3 left
💡 Hint
Common Mistakes
Not using quotes around the field name.
Using single quotes instead of double quotes.
4fill in blank
hard

Fill both blanks to create an exists query checking for the field "address.city".

Elasticsearch
{
  "query": {
    "exists": {
      "[1]": "[2]"
    }
  }
}
Drag options to blanks, or click blank then click option'
Afield
Baddress.city
Ccity
Dvalue
Attempts:
3 left
💡 Hint
Common Mistakes
Using "city" instead of "address.city".
Using incorrect key names like "value".
5fill in blank
hard

Fill all three blanks to create an exists query inside a bool must clause checking for "profile.age".

Elasticsearch
{
  "query": {
    "bool": {
      "[3]": [
        {
          "exists": {
            "[1]": "[2]"
          }
        }
      ]
    }
  }
}
Drag options to blanks, or click blank then click option'
Afield
Bprofile.age
Cage
Dmust
Attempts:
3 left
💡 Hint
Common Mistakes
Using "age" instead of "profile.age".
Using wrong keys like "value" or missing the bool must clause.

Practice

(1/5)
1. What does the exists query do in Elasticsearch?
easy
A. Finds documents where a specific field is present
B. Finds documents where a field has a specific value
C. Deletes documents missing a field
D. Updates documents with a missing field

Solution

  1. Step 1: Understand the purpose of the exists query

    The exists query checks if a field exists in documents, filtering those that have the field.
  2. Step 2: Compare options with the query's function

    Only Finds documents where a specific field is present correctly describes this behavior; others describe different operations.
  3. Final Answer:

    Finds documents where a specific field is present -> Option A
  4. Quick Check:

    Exists query = finds documents with field [OK]
Hint: Exists query checks if a field is present in documents [OK]
Common Mistakes:
  • Confusing exists query with term query
  • Thinking it deletes or updates documents
  • Assuming it checks field values
2. Which of the following is the correct syntax for an exists query in Elasticsearch?
easy
A. {"query": {"exists": {"field_name": "user"}}}
B. {"query": {"exists": "user"}}
C. {"query": {"exists": {"value": "user"}}}
D. {"query": {"exists": {"field": "user"}}}

Solution

  1. Step 1: Recall the correct JSON structure for exists query

    The exists query requires a "field" key inside its object specifying the field name.
  2. Step 2: Match options to correct syntax

    {"query": {"exists": {"field": "user"}}} matches the correct syntax: {"exists": {"field": "user"}}. Others use wrong keys or structure.
  3. Final Answer:

    {"query": {"exists": {"field": "user"}}} -> Option D
  4. Quick Check:

    Exists query syntax uses "field" key [OK]
Hint: Exists query needs "field" key inside its object [OK]
Common Mistakes:
  • Using "value" or "field_name" instead of "field"
  • Omitting the object braces around field
  • Passing field as a string directly
3. Given the following Elasticsearch query, what documents will it return?
{"query": {"exists": {"field": "email"}}}
medium
A. Documents where the email field exists
B. Documents where the email field is missing
C. Documents where the email field is empty
D. All documents regardless of email field

Solution

  1. Step 1: Analyze the query structure

    The query uses an exists query on the field "email", which filters documents having that field.
  2. Step 2: Understand what exists means for documents

    Documents returned must have the "email" field present, regardless of its value.
  3. Final Answer:

    Documents where the email field exists -> Option A
  4. Quick Check:

    Exists query returns docs with field present [OK]
Hint: Exists query returns docs with the field present only [OK]
Common Mistakes:
  • Thinking it returns docs missing the field
  • Assuming empty fields are excluded
  • Believing it returns all documents
4. Identify the error in this Elasticsearch exists query:
{"query": {"exists": {"field_name": "status"}}}
medium
A. The field value should be an array, not a string
B. The query should use "match" instead of "exists"
C. The key should be "field", not "field_name"
D. The query is missing a "filter" wrapper

Solution

  1. Step 1: Check the key used inside exists query

    The exists query requires the key "field" to specify the field name.
  2. Step 2: Compare the given key with the correct one

    The query uses "field_name" which is incorrect and causes an error.
  3. Final Answer:

    The key should be "field", not "field_name" -> Option C
  4. Quick Check:

    Exists query key = "field" [OK]
Hint: Use "field" key inside exists query, not "field_name" [OK]
Common Mistakes:
  • Using incorrect key names inside exists query
  • Confusing exists with match query
  • Adding unnecessary wrappers
5. You want to find all documents where the field phone exists but is not empty or null. Which Elasticsearch query best achieves this?
hard
A. {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"term": {"phone": ""}}]}}}
B. {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"script": {"script": "doc['phone'].value != ''"}}]}}}
C. {"query": {"exists": {"field": "phone"}}}
D. {"query": {"exists": {"field": "phone"}, "term": {"phone": ""}}}

Solution

  1. Step 1: Understand the requirement

    We want documents where "phone" exists and is not empty or null.
  2. Step 2: Evaluate each option

    {"query": {"exists": {"field": "phone"}}} only checks existence, not emptiness. {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"term": {"phone": ""}}]}}} incorrectly requires phone to be empty. {"query": {"exists": {"field": "phone"}, "term": {"phone": ""}}} has invalid syntax combining exists and term at same level. {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"script": {"script": "doc['phone'].value != ''"}}]}}} uses a bool must with exists and a script checking phone is not empty, correctly filtering as needed.
  3. Final Answer:

    {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"script": {"script": "doc['phone'].value != ''"}}]}}} -> Option B
  4. Quick Check:

    Exists + script to exclude empty = {"query": {"bool": {"must": [{"exists": {"field": "phone"}}, {"script": {"script": "doc['phone'].value != ''"}}]}}} [OK]
Hint: Combine exists with script to exclude empty values [OK]
Common Mistakes:
  • Using exists alone without checking empty values
  • Incorrectly combining queries at same level
  • Assuming term query with empty string works for exclusion
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard