Description
MinShouldMatchSumScorer has good iteration capabilities, but if it is not used as a lead for the iteration then the advance() call might make a lot of efforts in order to find the next match while we should instead let the lead iterator of the conjunction skip over non-matching documents. In this issue I'd like to explore changing MinShouldMatchSumScorer by giving it a two-phase iterator and making advance() return a candidate for the next match that is less good but much cheaper to compute.