Holds all state required for Lucene104PostingsReader to produce a org.apache.lucene.index.PostingsEnum without re-seeking the terms dict.
| field | type | note |
|---|---|---|
| docStartFP | long | file pointer to the start of the doc ids enumeration, in #DOC_EXTENSION file |
| posStartFP | long | file pointer to the start of the positions enumeration, in #POS_EXTENSION file |
| payStartFP | long | file pointer to the start of the payloads enumeration, in #PAY_EXTENSION file |
| lastPosBlockOffset | long | 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 | int | docid when there is a single pulsed posting, otherwise -1. freq is always implicitly totalTermFreq in this case. |
<init>()Sole constructor.
toString()| field | type | note |
|---|---|---|
| ord | long | Term ordinal, i.e. its position in the full list of sorted terms. |
| field | type | note |
|---|---|---|
| blockFilePointer | long | fp into the terms dict primary file (_X.tim) that holds this term |
| docFreq | int | how many docs have this term |
| termBlockOrd | int | the term's ord in the current block |
| totalTermFreq | long | total number of occurrences of this term |