Performs the matching of documents with a query, by
first assigning scores to documents for each query term
and modifying these scores with the appropriate modifiers.
This class extends the BitByteOutputStream, so it provides the compression writting functions, but
uses a MemoryOutputStream as an underlying OutputStream, so it is needed to be flushed to disk separately.
This interface encapsulates all the common functionality between
standard IR models (including DFR models, TF/IDF, BM25 etc), and
Language Modelling models (Terrier includes PonteCroft Language
Modelling model).