public override void Flush(IDictionary <string, TermsHashConsumerPerField> fieldsToFlush, SegmentWriteState state) { if (writer != null) { int numDocs = state.SegmentInfo.DocCount; Debug.Assert(numDocs > 0); // At least one doc in this run had term vectors enabled try { Fill(numDocs); Debug.Assert(state.SegmentInfo != null); writer.Finish(state.FieldInfos, numDocs); } finally { IOUtils.Dispose(writer); writer = null; lastDocID = 0; hasVectors = false; } } foreach (TermsHashConsumerPerField field in fieldsToFlush.Values) { TermVectorsConsumerPerField perField = (TermVectorsConsumerPerField)field; perField.termsHashPerField.Reset(); perField.ShrinkHash(); } }
public override void Finish(FieldInfos fis, int numDocs) { Debug.Assert(DocCount == numDocs); Debug.Assert(DocStatus == (numDocs > 0 ? Status.FINISHED : Status.UNDEFINED)); Debug.Assert(FieldStatus != Status.STARTED); Debug.Assert(TermStatus != Status.STARTED); @in.Finish(fis, numDocs); }
public override void Finish(FieldInfos fis, int numDocs) { if (Debugging.AssertsEnabled) { Debugging.Assert(docCount == numDocs); } if (Debugging.AssertsEnabled) { Debugging.Assert(docStatus == (numDocs > 0 ? Status.FINISHED : Status.UNDEFINED)); } if (Debugging.AssertsEnabled) { Debugging.Assert(fieldStatus != Status.STARTED); } if (Debugging.AssertsEnabled) { Debugging.Assert(termStatus != Status.STARTED); } @in.Finish(fis, numDocs); }