Hi! When SolrClound executes a query, it creates shard requests, which is sent to one replica of each shard. Total QTime is determined by the slowest shard response (plus some extra time). [For simplicity, let's assume that no stored fields are requested.]
I suffer from a situation where in every query, some shards are much slower than others. We might consider a different approach, which sends the shard request to *ALL* replicas of each shard. Solr will continue when responses are got from at least one replica of each shard. Of course, the amount of work that is wasted is big (multiplied by replicationFactor), but in my case, there are very few concurrent queries, and the most important performance is the qtime. Such a solution might improve qtime significantly. Did someone tried this before? Any tip from where should I start in the code?