Before thinking at all about threads you might try to speeding things up
with your implementation. In particular your call to the top level
docValues is going to be very slow. The way to speed this up is to switch
to the segment level doc value at each segment switch. That way you avoid
the rather
I am using RankQuery to implement my applicative scorer that returns a score
based on the value of specific field (lets call it 'score_field') that is
stored for every document.
The RankQuery creates a collector, and for every collected docId I retrieve
the value of score_field, calculate the scor