A document can be retrieved from a primary shard or from any of its replicas.
[[img-distrib-read]] .Retrieving a single document image::images/04-03_get.png["Retrieving a single document"]
Below we list the sequence of steps to retrieve a document from either a
primary or replica shard, as depicted in <
The client sends a get request to
The node uses the document's
_idto determine that the document belongs to shard
0. Copies of shard
0exist on all three nodes. On this occasion, it forwards the request to
Node 2returns the document to
Node 1which returns the document to the client.
For read requests, the requesting node will choose a different shard copy on every request in order to balance the load -- it round-robins through all shard copies.
It is possible that a document has been indexed on the primary shard but has not yet been copied to the replica shards. In this case a replica might report that the document doesn't exist, while the primary would have returned the document successfully.