Hi folks, I was wondering if people had thought about this problem before. If in a search system, you have clients that can tolerate high latency, is there a way to increase their latency and improve overall system throughput, where there may be other clients that demand reasonable latency and high throughput..?
In the Lucene practical sense, one possible way to do this would be to limit the concurrency of a query by limiting the number of Slices (by changing the segment->Slice geometry) and seeing the effect on throughput. Such a setup should ideally save on thread synchronization costs and the remaining threads can serve other queries. However, taking a TopScoreDocCollector as an example, what could end up happening is that the minScore in the PQ would not go up fast enough, and the Collector may end up over collecting low-quality hits. Are there any other solutions in this space? It's like having too much of a different currency and wondering if there is a way to convert it to a currency that you want :) Appreciate any insights or thoughts. Thanks! - Gautam Worah.