: Doug & I talked about this a while ago. At a minimum, it would require : byte[maxDoc()] to store scores in a compressed 8 bit format. It would : certainly impact performance too.
Why would you have to store the scores? why not just add an optional byte[]norms param to ConstantScoreQuery, if it's null, things work as they currently do, if it's non null ConstantWeight.scorer returns a new subclass of ConstantScorer where score is implemented as... public float score() throws IOException { return theScore * normDecoder[norms[doc] & 0xFF]; } (where normDecoder is just like in TermScorer) -Hoss