We discussed before that an update operation has to first retrieve the old document, apply the changes, and re-index the document. Between retrieving the old document and re-indexing the document, if some other operation updates the document, you would potentially overwrite the change. To solve this problem, Elasticsearch increments the version of the document on each operation.
If the version of the document has been changed between the document retrieval and re-indexing, the index operation fails. Let's take an example:
POST chapter4/person/2/_update
{
"doc" : {
"name" : "name update 3"
}
}
The response to the preceding operation is as follows:
{
"_index": "chapter4",
"_type": "person",
"_id": "2",
"_version": 4,
"result": "updated"...