A routing key can be specified in the "route" parameter which is then hashed and the shard corresponding to the key is selected for querying/indexing. But we require users to specify an exclamation mark at the end to get the right routing otherwise it fails silently or gives the wrong hash. This also applies to the split.key param used in shard splitting.
This is really annoying because you can forget to add the '!' character at the end and you wouldn't even know why the request was routed incorrectly.
We should make the '!' character optional and support keys both with and without it.