原文地址: 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 3
retrieves the document from the primary shard, changes the JSON in the_source
field, 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_conflict
times, before giving up. -
If
Node 3
has managed to update the document successfully, it forwards the new version of the document in parallel to the replica shards onNode 1
andNode 2
to be reindexed. Once all replica shards report success,Node 3
reports 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.