Recently I've implemented a custom Query that in turn scores documents using a custom Scorer implementation using a long primitive point values. The associated field is multi valued and has doc values enabled. For retrieving these multi valued longs I've used LeafReader.document() within the Scorer implementation. However, the invocation requires iterating through the space of matching documents which may induce performance degradations.
Hence my question is, what would be the most efficient implementation of a custom Scorer that computes scores based on the value of a multi valued long points field? Thanks in advance, Dominik