/// <summary>Called when we are done adding docs to this term. </summary> public override void FinishTerm(BlockTermState state) { SepTermState state_ = (SepTermState)state; // TODO: -- wasteful we are counting this in two places? if (Debugging.AssertsEnabled) { Debugging.Assert(state_.DocFreq > 0); Debugging.Assert(state_.DocFreq == df); } state_.DocIndex = docOut.GetIndex(); state_.DocIndex.CopyFrom(docIndex, false); if (indexOptions != IndexOptions.DOCS_ONLY) { state_.FreqIndex = freqOut.GetIndex(); state_.FreqIndex.CopyFrom(freqIndex, false); if (indexOptions == IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) { state_.PosIndex = posOut.GetIndex(); state_.PosIndex.CopyFrom(posIndex, false); } else { state_.PosIndex = null; } } else { state_.FreqIndex = null; state_.PosIndex = null; } if (df >= skipMinimum) { state_.SkipFP = skipOut.GetFilePointer(); //System.out.println(" skipFP=" + skipFP); skipListWriter.WriteSkip(skipOut); //System.out.println(" numBytes=" + (skipOut.getFilePointer()-skipFP)); } else { state_.SkipFP = -1; } state_.PayloadFP = payloadStart; lastDocID = 0; df = 0; }
/// <summary>Called when we are done adding docs to this term </summary> public override void FinishTerm(BlockTermState bstate) { var state = (SepTermState)bstate; // TODO: -- wasteful we are counting this in two places? Debug.Assert(state.DocFreq > 0); Debug.Assert(state.DocFreq == DF); state.DocIndex = DOC_OUT.Index(); state.DocIndex.CopyFrom(DOC_INDEX, false); if (INDEX_OPTIONS != FieldInfo.IndexOptions.DOCS_ONLY) { state.FreqIndex = FREQ_OUT.Index(); state.FreqIndex.CopyFrom(FREQ_INDEX, false); if (INDEX_OPTIONS == FieldInfo.IndexOptions.DOCS_AND_FREQS_AND_POSITIONS) { state.PosIndex = POS_OUT.Index(); state.PosIndex.CopyFrom(POS_INDEX, false); } else { state.PosIndex = null; } } else { state.FreqIndex = null; state.PosIndex = null; } if (DF >= SKIP_MINIMUM) { state.SkipFp = SKIP_OUT.FilePointer; SKIP_LIST_WRITER.WriteSkip(SKIP_OUT); } else { state.SkipFp = -1; } state.PayloadFp = PAYLOAD_START; LAST_DOC_ID = 0; DF = 0; }