elasticsearch - Modify your elasticsearch datain elastic search - elastic - elastic search - elasticsearch tutorial - elasticsearch docker
- Elasticsearch provides data manipulation & data searching capabilities in almost real time. under this example, we have update, delete & batch processing operations.
- Updating the same document. Suppose we have already indexed a document on /car/external/1 . Then running the command for indexing the data replaces the previous document.
PUT /car/external/1?pretty { "name": "Tata Nexa" }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- previous car document at id 1 with name "Tata Nexon" will be updated with new name "Tata Nexa"
- indexing the data with explicit Id
POST /car/external?pretty { "name": "Jane Doe" }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- for indexing the document without an Id we use POST verb instead of PUT verb. if we don't provide an Id, elasticsearch will generate a random ID and then use it to index the document.
- Updating the previous document at an Id partially.
POST /car/external/1/_update?pretty { "doc": { "name": "Tata Nex" } }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- updating the document with additional information
POST /car/external/1/_update?pretty { "doc": { "name": "Tata Nexon", "price": 1000000 } }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
POST /car/external/1/_update?pretty { "doc": { "name": "Tata Nexon", "price": 1000000 } }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- updating the document using simple scripts.
POST /car/external/1/_update?pretty { "script" : "ctx._source.price += 50000" }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- ctx._source refers to the current source document that is about to be updated. Above script provides only one script to be updated at the same time.
- Deleting the document
POST /car/external/1/_update?pretty { "script" : "ctx._source.price += 50000" }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- Note: deleting a whole index is more efficient than deleting all documents by using Delete by Query API
Batch Processing
- Apart from indexing updating & deleting the document, elasticsearch also provides provides the ability to perform any of the above operations in batches using the _bulk API.
- for updating multiple documents using _bulk API
POST /car/external/_bulk?pretty {"index":{"_id":"1"}} {"name": "Tata Nexon" } {"index":{"_id":"2"}} {"name": "Tata Nano" }
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- for updating & deleting the documents using _bulk API
POST /car/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "Tata Nano" } }
{"delete":{"_id":"2"}}
Clicking "Copy Code" button will copy the code into the clipboard - memory. Please paste(Ctrl+V) it in your destination. The code will get pasted. Happy coding from Wikitechy - elasticsearch - elasticsearch tutorial - elastic - elastic search - elasticsearch docker team
- If an operation fails, bulk API doesn't stop. It executes all the operations & finally returns report for all the operations.