What does indexing a document mean in Elasticsearch?
Indexing a document means storing or updating a document in an Elasticsearch index so it can be searched and retrieved later.
Click to reveal answer
beginner
Which HTTP methods are commonly used to index a document in Elasticsearch?
POST and PUT are used to index documents. POST creates a new document with an auto-generated ID, while PUT creates or updates a document with a specified ID.
Click to reveal answer
intermediate
What is the difference between POST and PUT when indexing a document?
POST adds a new document with a generated ID. PUT adds or replaces a document with a specific ID you provide.
Click to reveal answer
beginner
Show a simple example of indexing a document using POST in Elasticsearch.
POST /my-index/_doc
{
"title": "My first document",
"content": "This is the content of the document."
}
This adds a new document with an auto-generated ID to 'my-index'.
Click to reveal answer
intermediate
What happens if you use PUT to index a document with an existing ID?
The existing document with that ID is replaced with the new document you send. If the ID does not exist, a new document is created.
Click to reveal answer
Which HTTP method automatically generates a document ID when indexing in Elasticsearch?
APOST
BPUT
CGET
DDELETE
✗ Incorrect
POST creates a new document with an auto-generated ID, while PUT requires you to specify the ID.
What is the correct URL format to index a document with a specified ID '123' in index 'books'?
A/books/_doc
B/books/123/_doc
C/_doc/books/123
D/books/_doc/123
✗ Incorrect
PUT or POST to /books/_doc/123 indexes the document with ID '123' in the 'books' index.
If you want to update an existing document, which method should you use?
APOST with no ID
BPUT with the document ID
CGET with the document ID
DDELETE with the document ID
✗ Incorrect
PUT with the document ID replaces or updates the document at that ID.
What happens if you POST a document to an index that does not exist?
AElasticsearch automatically creates the index and adds the document
BThe document is lost
CElasticsearch returns an error
DThe request is ignored
✗ Incorrect
Elasticsearch automatically creates the index if it does not exist when you index a document.
Which part of the request contains the actual data of the document when indexing?
AURL path
BHTTP headers
CRequest body
DQuery parameters
✗ Incorrect
The document data is sent in the request body as JSON.
Explain how to index a new document in Elasticsearch using POST and what happens behind the scenes.
Think about what POST does with the document and the ID.
You got /4 concepts.
Describe the difference between using POST and PUT for indexing documents in Elasticsearch.
Focus on how IDs are handled and document updates.
You got /4 concepts.
Practice
(1/5)
1. What is the main difference between using POST and PUT when indexing a document in Elasticsearch?
easy
A. POST adds a document with an auto-generated ID, PUT adds or replaces a document with a specified ID.
B. POST deletes a document, PUT updates a document.
C. POST is used only for searching, PUT is used for indexing.
D. POST requires an ID, PUT never requires an ID.
Solution
Step 1: Understand POST behavior
POST indexes a document and Elasticsearch generates a unique ID automatically.
Step 2: Understand PUT behavior
PUT indexes a document with the ID you specify, replacing any existing document with that ID.
Final Answer:
POST adds a document with an auto-generated ID, PUT adds or replaces a document with a specified ID. -> Option A
Quick Check:
Method difference = auto ID vs specified ID [OK]
Hint: Remember: POST auto-IDs, PUT needs your ID [OK]
Common Mistakes:
Thinking POST deletes documents
Confusing PUT with search operation
Assuming PUT never requires an ID
2. Which of the following is the correct syntax to index a document with ID "123" using PUT in Elasticsearch?
easy
A. POST /index/_doc {"field": "value"}
B. POST /index/_doc/123 {"field": "value"}
C. PUT /index/_doc {"field": "value"}
D. PUT /index/_doc/123 {"field": "value"}
Solution
Step 1: Identify correct HTTP method and URL
To specify an ID, use PUT with the URL including the ID: /index/_doc/123.
Step 2: Confirm request body format
The body contains the document fields as JSON, e.g., {"field": "value"}.
Final Answer:
PUT /index/_doc/123 {"field": "value"} -> Option D
Quick Check:
PUT + ID in URL = correct syntax [OK]
Hint: PUT with ID in URL, POST without ID [OK]
Common Mistakes:
Using POST with an ID in URL
Omitting the ID when using PUT
Confusing URL structure
3. Given this request to index a document:
POST /products/_doc
{
"name": "Coffee Mug",
"price": 12.99
}
What will Elasticsearch do after this request?
medium
A. Index the document with an auto-generated ID under the 'products' index.
B. Replace any existing document with ID 'products'.
C. Return an error because ID is missing.
D. Create a new index named '_doc'.
Solution
Step 1: Analyze the HTTP method and URL
The request uses POST on /products/_doc, which means index 'products' and type '_doc'.
Step 2: Understand ID assignment
Since no ID is specified, Elasticsearch generates a unique ID automatically and indexes the document.
Final Answer:
Index the document with an auto-generated ID under the 'products' index. -> Option A
Quick Check:
POST without ID = auto-generated ID [OK]
Hint: POST without ID means auto ID assigned [OK]
Common Mistakes:
Thinking missing ID causes error
Assuming document replaces existing one
Confusing index and type names
4. You tried to index a document with PUT /myindex/_doc without specifying an ID. What is the problem with this request?
medium
A. It will create a document with a random ID.
B. It will update all documents in the index.
C. It will cause a syntax error because ID is missing in the URL.
D. It will delete the entire index.
Solution
Step 1: Check the HTTP method and URL requirements
PUT requires an explicit document ID in the URL to index or replace a document.
Step 2: Identify the error cause
Since the ID is missing, Elasticsearch will reject the request with an error due to invalid URL syntax.
Final Answer:
It will cause a syntax error because ID is missing in the URL. -> Option C
Quick Check:
PUT needs ID in URL [OK]
Hint: PUT without ID in URL causes error [OK]
Common Mistakes:
Assuming PUT auto-generates ID
Thinking it deletes index
Believing it updates all documents
5. You want to update a document if it exists or create it if it doesn't, using ID "789" in index "users". Which is the best way to do this in Elasticsearch?
hard
A. Use POST /users/_doc with the document body {"id": "789"}.
B. Use PUT /users/_doc/789 with the document body.
C. Use POST /users/_doc without ID.
D. Use DELETE /users/_doc/789 then POST /users/_doc.
Solution
Step 1: Understand update or create behavior
PUT with a specified ID will create the document if missing or replace it if it exists.
Step 2: Compare options
POST without ID creates new documents with auto IDs, so it won't update by ID. Deleting then posting is inefficient.
Final Answer:
Use PUT /users/_doc/789 with the document body. -> Option B
Quick Check:
PUT with ID updates or creates [OK]
Hint: PUT with ID updates or creates document [OK]
Common Mistakes:
Specifying ID in the document body
Omitting ID when update needed
Deleting before posting wastes resources
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.