I read the issue you opened and I think you misunderstood how routing works. Please, let me know if I'm wrong.
By default, you don't have to specify the routing field to index a document. Elasticsearch will wisely determine in each primary shard your document will live by doing simple math:
shard = hash(routing) % number_of_primary_shards
where routing by default is _id of the document.
If you don't want to change this default behaviour all you have to do is get the document, let's say:
#index without routing parameter (default)
Elasticsearch will do the simple math again, determine in each shard the document with id = 1 was indexed and will retrieve it. It's not necessary to search all shards as it is guaranteed that it resides in only one primary shard.
If you have changed the default behaviour by specifying the routing parameter when indexing a document, Elasticsearch assumes that when you will get this document you must know what was the routing. Example:
# not found
Hope it helps!