The difference between indices generated by this class and those generated by {@link BitStreamIndexWriter} lie in the levelof interleaving. Indices generated by this class have positions in a separate stream (similarly to Lucene), and a compulsory skip structure (an extension of that used by a {@link BitStreamIndexWriter}) that indexes both the main index file and the positions file. This can result in major performance improvement in the resolution of position-based operators (e.g., phrases) and in the evaluation of {@linkplain VignaScorer proximity-based scorers}. Since the overhead due to the additional skip structure and to the separate positions stream is negligible, indices generated by this class are the default in MG4J.
Presently, indices generated by this class cannot carry payloads: you must use a {@link BitStreamIndexWriter}in that case. Moreover, only nonparametric indices can be used for positions (this limitation rules out {@link Coding#GOLOMB} and {@link Coding#INTERPOLATIVE}). @author Sebastiano Vigna @since 1.2
|
|
|
|