public virtual void UpdateDocument(IEnumerable <IIndexableField> doc, Analyzer analyzer, Term delTerm) { // LUCENENET: .NET doesn't support asserts in release mode if (Lucene.Net.Diagnostics.Debugging.AssertsEnabled) { TestPoint("DocumentsWriterPerThread addDocument start"); } Debug.Assert(deleteQueue != null); docState.doc = doc; docState.analyzer = analyzer; docState.docID = numDocsInRAM; if (INFO_VERBOSE && infoStream.IsEnabled("DWPT")) { infoStream.Message("DWPT", Thread.CurrentThread.Name + " update delTerm=" + delTerm + " docID=" + docState.docID + " seg=" + segmentInfo.Name); } bool success = false; try { try { consumer.ProcessDocument(fieldInfos); } finally { docState.Clear(); } success = true; } finally { if (!success) { if (!aborting) { // mark document as deleted DeleteDocID(docState.docID); numDocsInRAM++; } else { Abort(filesToDelete); } } } success = false; try { consumer.FinishDocument(); success = true; } finally { if (!success) { Abort(filesToDelete); } } FinishDocument(delTerm); }
public virtual void UpdateDocument(IEnumerable <IndexableField> doc, Analyzer analyzer, Term delTerm) { Debug.Assert(TestPoint("DocumentsWriterPerThread addDocument start")); Debug.Assert(DeleteQueue != null); docState.Doc = doc; docState.Analyzer = analyzer; docState.DocID = numDocsInRAM; if (INFO_VERBOSE && InfoStream.IsEnabled("DWPT")) { InfoStream.Message("DWPT", Thread.CurrentThread.Name + " update delTerm=" + delTerm + " docID=" + docState.DocID + " seg=" + SegmentInfo_Renamed.Name); } bool success = false; try { try { Consumer.ProcessDocument(FieldInfos); } finally { docState.Clear(); } success = true; } finally { if (!success) { if (!Aborting) { // mark document as deleted DeleteDocID(docState.DocID); numDocsInRAM++; } else { Abort(FilesToDelete); } } } success = false; try { Consumer.FinishDocument(); success = true; } finally { if (!success) { Abort(FilesToDelete); } } FinishDocument(delTerm); }