I've implemented a custom Query whose responsibilities are as follows. First, using an instance of a PointValues.IntersectVisitor classifying documents as hit or not using a plong value. Secondly, calculating custom scores using another document field, specified in the mapping as plongs. The later is expected to calculate the custom score using an array of longs comprised of 46 values.
The problem I am having is performance wise. Namely for calculating the custom score I'm retrieving the values of the field using LeafReader.document(docId()) which is a costly process. What alternatives are there for reading plongs using a LeafReader and DocIdSetIterator within a custom Scorer implementation? Thanks in advance. Dominik