Class Lucene99PostingsFormat.IntBlockTermState

All Implemented Interfaces:
Cloneable
Enclosing class:
Lucene99PostingsFormat

public static final class Lucene99PostingsFormat.IntBlockTermState extends BlockTermState
Holds all state required for Lucene99PostingsReader to produce a PostingsEnum without re-seeking the terms dict.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Field Details

    • docStartFP

      public long docStartFP
      file pointer to the start of the doc ids enumeration, in Lucene99PostingsFormat.DOC_EXTENSION file
    • posStartFP

      public long posStartFP
      file pointer to the start of the positions enumeration, in Lucene99PostingsFormat.POS_EXTENSION file
    • payStartFP

      public long payStartFP
      file pointer to the start of the payloads enumeration, in Lucene99PostingsFormat.PAY_EXTENSION file
    • skipOffset

      public long skipOffset
      file offset for the start of the skip list, relative to docStartFP, if there are more than ForUtil.BLOCK_SIZE docs; otherwise -1
    • lastPosBlockOffset

      public long lastPosBlockOffset
      file offset for the last position in the last block, if there are more than ForUtil.BLOCK_SIZE positions; otherwise -1

      One might think to use total term frequency to track how many positions are left to read as we decode the blocks, and decode the last block differently when num_left_positions < BLOCK_SIZE. Unfortunately this won't work since the tracking will be messed up when we skip blocks as the skipper will only tell us new position offset (start of block) and number of positions to skip for that block, without telling us how many positions it has skipped.

    • singletonDocID

      public int singletonDocID
      docid when there is a single pulsed posting, otherwise -1. freq is always implicitly totalTermFreq in this case.
  • Constructor Details

    • IntBlockTermState

      public IntBlockTermState()
      Sole constructor.
  • Method Details