📖 Scenario: You are managing a small online store's product catalog using Elasticsearch. You want to add products to the catalog and decide how to assign document IDs. Sometimes you want Elasticsearch to create IDs automatically, and other times you want to assign your own IDs to keep track of products easily.
🎯 Goal: Learn how to add documents to Elasticsearch with both automatic and manual document IDs, and see the difference in how documents are stored and retrieved.
📋 What You'll Learn
Create an index called products
Add a product document with an automatic ID
Add a product document with a manual ID
Retrieve and print the documents to see their IDs
💡 Why This Matters
🌍 Real World
In real online stores or apps, you often need to store product data in Elasticsearch. Choosing between automatic and manual document IDs helps you manage and find products easily.
💼 Career
Knowing how to manage document IDs in Elasticsearch is important for backend developers and data engineers working with search and data storage systems.
Progress0 / 4 steps
1
Create the products index
Write a command to create an Elasticsearch index called products.
Elasticsearch
Hint
Use the PUT method with the index name products to create the index.
2
Add a product with an automatic document ID
Write a command to add a product document with name as "Coffee Mug" and price as 12.99 to the products index. Let Elasticsearch create the document ID automatically by not specifying it.
Elasticsearch
Hint
Use POST /products/_doc to add a document with an automatic ID.
3
Add a product with a manual document ID
Write a command to add a product document with name as "Tea Cup" and price as 9.99 to the products index. Use the manual document ID tea-cup-001.
Elasticsearch
Hint
Use PUT /products/_doc/tea-cup-001 to add a document with a manual ID.
4
Retrieve and print the documents to see their IDs
Write commands to retrieve and print the documents with the manual ID tea-cup-001 and the automatically created document ID for the "Coffee Mug" product. Use the GET method for both.
Elasticsearch
Hint
Use GET /products/_doc/tea-cup-001 to get the manual ID document. For the automatic ID, you need to know the ID from the response or list documents.
Practice
(1/5)
1. What is the main difference between automatic and manual document IDs in Elasticsearch?
easy
A. Automatic IDs are generated by Elasticsearch; manual IDs are set by the user.
B. Automatic IDs require user input; manual IDs are generated by Elasticsearch.
C. Automatic IDs are always numeric; manual IDs are always strings.
D. Automatic IDs cannot be used for updates; manual IDs cannot.
Solution
Step 1: Understand automatic ID generation
Elasticsearch creates unique IDs automatically when you don't specify one.
Step 2: Understand manual ID assignment
Users can assign their own IDs to documents for control and easier updates.
Final Answer:
Automatic IDs are generated by Elasticsearch; manual IDs are set by the user. -> Option A
Quick Check:
Auto = Elasticsearch generated, Manual = user set [OK]
Hint: Auto = system creates ID, manual = you create ID [OK]
Common Mistakes:
Confusing which side creates the ID
Thinking automatic IDs are numeric only
Believing manual IDs cannot be updated
2. Which of the following is the correct syntax to index a document with a manual ID in Elasticsearch using JSON?