Chuck, The scorer keeps a sorted array of subscorers and sorts it whenever needed. It's somewhat easier to implement that with a util.PriorityQueue, but can't say whether it would be faster.
For a definitely faster implementation one can start from Lucene's BooleanScorer and assume all clauses are optional. Instead of summing just use the maximum. BooleanScorer works ahead for each scorer to avoid the need for keeping the scorers sorted. But you'll probably loose skipTo() when using BooleanScorer. Regards, Paul Elschot. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]