Class BlockSinglePassIndexer


  • public class BlockSinglePassIndexer
    extends BasicSinglePassIndexer
    Indexes a document collection saving block information for the indexed terms. It performs a single pass inversion (see BasicSinglePassIndexer). All normal block properties are supported. For more information, see BlockIndexer.
    Author:
    Roi Blanco, Craig Macdonald, Rodrygo Santos.
    • Field Detail

      • numOfTokensInBlock

        protected int numOfTokensInBlock
        The number of tokens in the current block of the current document.
      • blockId

        protected int blockId
        The block number in the current document.
      • BLOCK_SIZE

        protected int BLOCK_SIZE
        The maximum number of terms allowed in a block
      • MAX_BLOCKS

        protected int MAX_BLOCKS
        The maximum number allowed number of blocks in a document. After this value, all the remaining terms are in the final block
    • Constructor Detail

      • BlockSinglePassIndexer

        public BlockSinglePassIndexer​(java.lang.String pathname,
                                      java.lang.String prefix)
        Constructs an instance of this block indexer which uses the single-pass strategy
        Parameters:
        pathname - String location of the index
        prefix - String prefix to file of the index
    • Method Detail

      • getEndOfPipeline

        protected TermPipeline getEndOfPipeline()
        Returns the object that is to be the end of the TermPipeline. This method is used at construction time of the parent object.
        Overrides:
        getEndOfPipeline in class BasicIndexer
        Returns:
        TermPipeline the last component of the term pipeline.
      • createFieldRunMerger

        protected void createFieldRunMerger​(java.lang.String[][] files)
                                     throws java.io.IOException
        Description copied from class: BasicSinglePassIndexer
        Hook method that creates a FieldRunMerger instance
        Overrides:
        createFieldRunMerger in class BasicSinglePassIndexer
        Throws:
        java.io.IOException - if an I/O error occurs.
      • createRunMerger

        protected void createRunMerger​(java.lang.String[][] files)
                                throws java.lang.Exception
        Description copied from class: BasicSinglePassIndexer
        Hook method that creates a RunsMerger instance
        Overrides:
        createRunMerger in class BasicSinglePassIndexer
        Throws:
        java.io.IOException - if an I/O error occurs.
        java.lang.Exception
      • createDocumentPostings

        protected void createDocumentPostings()
        Description copied from class: BasicIndexer
        Hook method that creates the right type of DocumentTree class.
        Overrides:
        createDocumentPostings in class BasicIndexer
      • performMultiWayMerge

        public void performMultiWayMerge()
                                  throws java.io.IOException
        Description copied from class: BasicSinglePassIndexer
        Uses the merger class to perform a k multiway merge in a set of previously written runs. The file names and the number of runs are given by the private queue
        Overrides:
        performMultiWayMerge in class BasicSinglePassIndexer
        Throws:
        java.io.IOException