Bird
Raised Fist0
Elasticsearchquery~10 mins

Updating documents 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 update a document by setting the field 'status' to 'active'.

Elasticsearch
{
  "doc": {
    "status": "[1]"
  }
}
Drag options to blanks, or click blank then click option'
Adeleted
Binactive
Cactive
Dpending
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing a status that does not represent an active state.
Using a value not in the options.
2fill in blank
medium

Complete the code to update a document by incrementing the 'views' field by 1 using a script.

Elasticsearch
{
  "script": {
    "source": "ctx._source.views [1] 1"
  }
}
Drag options to blanks, or click blank then click option'
A-=
B/=
C*=
D+=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-=' which would decrease the value.
Using '*=' or '/=' which would multiply or divide the value.
3fill in blank
hard

Fix the error in the update request by completing the missing part to specify the document ID.

Elasticsearch
POST /my_index/_update/[1]
{
  "doc": {
    "field": "value"
  }
}
Drag options to blanks, or click blank then click option'
A1
Bmy_index
C_update
Ddoc
Attempts:
3 left
💡 Hint
Common Mistakes
Using the index name instead of the document ID.
Using keywords like '_update' or 'doc' as the ID.
4fill in blank
hard

Fill in the blank to update the 'price' field by multiplying it by 1.1 using a script.

Elasticsearch
{
  "script": {
    "source": "ctx._source.price [1] 1.1"
  }
}
Drag options to blanks, or click blank then click option'
A+=
B*=
C-=
D/=
Attempts:
3 left
💡 Hint
Common Mistakes
Using addition or subtraction operators instead of multiplication.
Using division operator which would reduce the price.
5fill in blank
hard

Fill all three blanks to update a document by setting 'status' to 'sold', incrementing 'sales' by 1, and adding a tag 'featured'.

Elasticsearch
{
  "script": {
    "source": "ctx._source.status = '[1]'; ctx._source.sales [2] 1; ctx._source.tags.add('[3]')"
  }
}
Drag options to blanks, or click blank then click option'
Asold
B+=
Cfeatured
D-=
Attempts:
3 left
💡 Hint
Common Mistakes
Using '-=' instead of '+=' for incrementing sales.
Using wrong strings for status or tag.

Practice

(1/5)
1. What does the _update API in Elasticsearch do?
easy
A. It retrieves a document by its ID.
B. It modifies specific fields of an existing document without replacing the whole document.
C. It creates a new index with updated settings.
D. It deletes the entire document from the index.

Solution

  1. Step 1: Understand the purpose of _update API

    The _update API is designed to change parts of a document without replacing the entire document.
  2. Step 2: Compare options with the API function

    Only It modifies specific fields of an existing document without replacing the whole document. correctly describes modifying specific fields without full replacement, while others describe unrelated actions.
  3. Final Answer:

    It modifies specific fields of an existing document without replacing the whole document. -> Option B
  4. Quick Check:

    _update API modifies parts of a document [OK]
Hint: Remember _update changes parts, not whole documents [OK]
Common Mistakes:
  • Thinking _update deletes documents
  • Confusing _update with document retrieval
  • Assuming _update creates new indexes
2. Which of the following is the correct syntax to update the field status to "active" in a document with ID 1 in index users?
easy
A. PUT /users/_update/1 { "status": "active" }
B. GET /users/_update/1 { "doc": { "status": "active" } }
C. POST /users/_update/1 { "doc": { "status": "active" } }
D. POST /users/_doc/1 { "status": "active" }

Solution

  1. Step 1: Identify the correct HTTP method and endpoint

    The update API uses POST method with the path /index/_update/document_id.
  2. Step 2: Check the request body format

    The fields to update must be inside the doc object. POST /users/_update/1 { "doc": { "status": "active" } } matches this format exactly.
  3. Final Answer:

    POST /users/_update/1 { "doc": { "status": "active" } } -> Option C
  4. Quick Check:

    Use POST with _update and doc object [OK]
Hint: Use POST with _update and put fields inside doc [OK]
Common Mistakes:
  • Using GET instead of POST for update
  • Omitting the doc wrapper in the body
  • Using _doc endpoint instead of _update
3. Given this update request:
POST /products/_update/42
{
  "doc": {
    "price": 19.99
  }
}

What happens to the other fields of the document with ID 42?
medium
A. They remain unchanged; only the price field is updated.
B. They are deleted and replaced by only the price field.
C. The update request will fail due to missing fields.
D. All fields are reset to default values.

Solution

  1. Step 1: Understand partial update behavior

    The _update API updates only the fields inside the doc object, leaving other fields intact.
  2. Step 2: Analyze the given request

    Only the price field is specified, so other fields stay as they were.
  3. Final Answer:

    They remain unchanged; only the price field is updated. -> Option A
  4. Quick Check:

    _update changes specified fields only [OK]
Hint: Update changes only fields inside doc, others stay same [OK]
Common Mistakes:
  • Assuming update replaces whole document
  • Expecting update to fail without all fields
  • Thinking update resets other fields
4. You try to update a document but get an error. Which of these is the most likely cause?
POST /orders/_update/100
{
  "status": "shipped"
}
medium
A. Using POST instead of PUT method.
B. The index name is incorrect.
C. Document ID 100 does not exist.
D. Missing the doc wrapper around the fields to update.

Solution

  1. Step 1: Check the update request format

    The update body must have a doc object wrapping the fields to update.
  2. Step 2: Identify the error in the request

    The request body lacks the doc wrapper, causing a syntax error.
  3. Final Answer:

    Missing the doc wrapper around the fields to update. -> Option D
  4. Quick Check:

    Update body needs doc wrapper [OK]
Hint: Always wrap updated fields inside doc object [OK]
Common Mistakes:
  • Omitting doc wrapper in update body
  • Confusing POST and PUT methods
  • Assuming missing document causes syntax error
5. You want to increase the stock field by 5 in a product document with ID 10. Which update request correctly does this?
hard
A. POST /products/_update/10 { "script": "ctx._source.stock += 5" }
B. POST /products/_update/10 { "doc": { "stock": "+5" } }
C. POST /products/_update/10 { "doc": { "stock": 5 } }
D. POST /products/_update/10 { "update": { "stock": 5 } }

Solution

  1. Step 1: Understand how to increment a field

    To increase a numeric field, use a script that modifies the field value.
  2. Step 2: Analyze each option

    POST /products/_update/10 { "script": "ctx._source.stock += 5" } uses a script to add 5 to stock. Others either overwrite or use wrong syntax.
  3. Final Answer:

    POST /products/_update/10 { "script": "ctx._source.stock += 5" } -> Option A
  4. Quick Check:

    Use script to increment numeric fields [OK]
Hint: Use script with ctx._source.field += value to increment [OK]
Common Mistakes:
  • Trying to increment by setting doc field directly
  • Using incorrect JSON structure for update
  • Confusing doc and script usage
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