Class VersionBlockTreeTermsWriter.TermsWriter
- java.lang.Object
-
- org.apache.lucene.codecs.idversion.VersionBlockTreeTermsWriter.TermsWriter
-
- Enclosing class:
- VersionBlockTreeTermsWriter
class VersionBlockTreeTermsWriter.TermsWriter extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) FixedBitSetdocsSeenprivate FieldInfofieldInfoprivate VersionBlockTreeTermsWriter.PendingTermfirstPendingTerm(package private) longindexStartFPprivate VersionBlockTreeTermsWriter.PendingTermlastPendingTermprivate BytesRefBuilderlastTermprivate RAMOutputStreammetaWriterprivate java.util.List<VersionBlockTreeTermsWriter.PendingBlock>newBlocksprivate longnumTermsprivate java.util.List<VersionBlockTreeTermsWriter.PendingEntry>pendingprivate int[]prefixStartsprivate RAMOutputStreamsuffixWriter
-
Constructor Summary
Constructors Constructor Description TermsWriter(FieldInfo fieldInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfinish()private voidpushTerm(BytesRef text)Pushes the new term to the top of the stack, and writes new blocks.voidwrite(BytesRef text, TermsEnum termsEnum, NormsProducer norms)Writes one term's worth of postings.private VersionBlockTreeTermsWriter.PendingBlockwriteBlock(int prefixLength, boolean isFloor, int floorLeadLabel, int start, int end, boolean hasTerms, boolean hasSubBlocks)Writes the specified slice (start is inclusive, end is exclusive) from pending stack as a new block.(package private) voidwriteBlocks(int prefixLength, int count)Writes the top count entries in pending, using prevTerm to compute the prefix.
-
-
-
Field Detail
-
fieldInfo
private final FieldInfo fieldInfo
-
numTerms
private long numTerms
-
docsSeen
final FixedBitSet docsSeen
-
indexStartFP
long indexStartFP
-
lastTerm
private final BytesRefBuilder lastTerm
-
prefixStarts
private int[] prefixStarts
-
pending
private final java.util.List<VersionBlockTreeTermsWriter.PendingEntry> pending
-
newBlocks
private final java.util.List<VersionBlockTreeTermsWriter.PendingBlock> newBlocks
-
firstPendingTerm
private VersionBlockTreeTermsWriter.PendingTerm firstPendingTerm
-
lastPendingTerm
private VersionBlockTreeTermsWriter.PendingTerm lastPendingTerm
-
suffixWriter
private final RAMOutputStream suffixWriter
-
metaWriter
private final RAMOutputStream metaWriter
-
-
Constructor Detail
-
TermsWriter
TermsWriter(FieldInfo fieldInfo)
-
-
Method Detail
-
writeBlocks
void writeBlocks(int prefixLength, int count) throws java.io.IOExceptionWrites the top count entries in pending, using prevTerm to compute the prefix.- Throws:
java.io.IOException
-
writeBlock
private VersionBlockTreeTermsWriter.PendingBlock writeBlock(int prefixLength, boolean isFloor, int floorLeadLabel, int start, int end, boolean hasTerms, boolean hasSubBlocks) throws java.io.IOException
Writes the specified slice (start is inclusive, end is exclusive) from pending stack as a new block. If isFloor is true, there were too many (more than maxItemsInBlock) entries sharing the same prefix, and so we broke it into multiple floor blocks where we record the starting label of the suffix of each floor block.- Throws:
java.io.IOException
-
write
public void write(BytesRef text, TermsEnum termsEnum, NormsProducer norms) throws java.io.IOException
Writes one term's worth of postings.- Throws:
java.io.IOException
-
pushTerm
private void pushTerm(BytesRef text) throws java.io.IOException
Pushes the new term to the top of the stack, and writes new blocks.- Throws:
java.io.IOException
-
finish
public void finish() throws java.io.IOException- Throws:
java.io.IOException
-
-