原文地址: https://www.elastic.co/guide/en/elasticsearch/guide/current/_partial_updates_to_a_document.html, 版权归 www.elastic.co 所有
WARNING: The 2.x versions of Elasticsearch have passed their EOL dates. If you are running a 2.x version, we strongly advise you to upgrade.
This documentation is no longer maintained and may be removed. For the latest information, see the current Elasticsearch documentation.
Partial Updates to a Documentedit
The update API , as shown in Figure 11, “Partial updates to a document”, combines the read and write patterns explained previously.
Figure 11. Partial updates to a document
Here is the sequence of steps used to perform a partial update on a document:
-
The client sends an update request to
Node 1. -
It forwards the request to
Node 3, where the primary shard is allocated. -
Node 3retrieves the document from the primary shard, changes the JSON in the_sourcefield, and tries to reindex the document on the primary shard. If the document has already been changed by another process, it retries step 3 up toretry_on_conflicttimes, before giving up. -
If
Node 3has managed to update the document successfully, it forwards the new version of the document in parallel to the replica shards onNode 1andNode 2to be reindexed. Once all replica shards report success,Node 3reports success to the coordinating node, which reports success to the client.
The update API also accepts the routing, consistency, and
timeout parameters that are explained in Creating, Indexing, and Deleting a Document.