Lucene has support to pass in an {{ExecutorService}} to the {{IndexReader}} in order to do searches in parallel across segments.
Currently when sharding is used, query performance is {{O \ (n \ )}} where n is the number of IndexManagers involved.
The caveat is that the {{ExecutorService}} only is used to certain methods from {{IndexReader}}, and also it is not suitable to all cases: it will trade latency for throughput, so ideally this should be configurable. |
|