1. A computer program product residing on a computer readable storage medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations comprising: migrating a migration document in a migration shard from a first location to a second location; adding a first location identifier associated with the first location of the migration document to metadata associated with the migration shard; adding a second location identifier associated with the second location of the migration document to the metadata associated with the migration shard; and adding one or more shard identifiers to the metadata associated with the migration shard, each of the one or more shard identifiers corresponding to a shard that includes a document that is referenced by one or more documents in the migration shard.