Beispiel #1
0
        internal void  FinishDocument(PerDoc perDoc)
        {
            lock (this)
            {
                System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("StoredFieldsWriter.finishDocument start"));
                InitFieldsWriter();

                Fill(perDoc.docID);

                // Append stored fields to the real FieldsWriter:
                fieldsWriter.FlushDocument(perDoc.numStoredFields, perDoc.fdt);
                lastDocID++;
                perDoc.Reset();
                Free(perDoc);
                System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("StoredFieldsWriter.finishDocument end"));
            }
        }
Beispiel #2
0
        internal void  FinishDocument(PerDoc perDoc)
        {
            lock (this)
            {
                System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("TermVectorsTermsWriter.finishDocument start"));

                InitTermVectorsWriter();

                Fill(perDoc.docID);

                // Append term vectors to the real outputs:
                tvx.WriteLong(tvd.FilePointer);
                tvx.WriteLong(tvf.FilePointer);
                tvd.WriteVInt(perDoc.numVectorFields);
                if (perDoc.numVectorFields > 0)
                {
                    for (int i = 0; i < perDoc.numVectorFields; i++)
                    {
                        tvd.WriteVInt(perDoc.fieldNumbers[i]);
                    }

                    System.Diagnostics.Debug.Assert(0 == perDoc.fieldPointers [0]);
                    long lastPos = perDoc.fieldPointers[0];
                    for (int i = 1; i < perDoc.numVectorFields; i++)
                    {
                        long pos = perDoc.fieldPointers[i];
                        tvd.WriteVLong(pos - lastPos);
                        lastPos = pos;
                    }
                    perDoc.perDocTvf.WriteTo(tvf);
                    perDoc.numVectorFields = 0;
                }

                System.Diagnostics.Debug.Assert(lastDocID == perDoc.docID + docWriter.DocStoreOffset);

                lastDocID++;
                perDoc.Reset();
                Free(perDoc);
                System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("TermVectorsTermsWriter.finishDocument end"));
            }
        }
		internal void  FinishDocument(PerDoc perDoc)
		{
			lock (this)
			{
				
				System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("TermVectorsTermsWriter.finishDocument start"));
				
				InitTermVectorsWriter();
				
				Fill(perDoc.docID);
				
				// Append term vectors to the real outputs:
				tvx.WriteLong(tvd.GetFilePointer());
				tvx.WriteLong(tvf.GetFilePointer());
				tvd.WriteVInt(perDoc.numVectorFields);
				if (perDoc.numVectorFields > 0)
				{
					for (int i = 0; i < perDoc.numVectorFields; i++)
						tvd.WriteVInt(perDoc.fieldNumbers[i]);
					System.Diagnostics.Debug.Assert(0 == perDoc.fieldPointers [0]);
					long lastPos = perDoc.fieldPointers[0];
					for (int i = 1; i < perDoc.numVectorFields; i++)
					{
						long pos = perDoc.fieldPointers[i];
						tvd.WriteVLong(pos - lastPos);
						lastPos = pos;
					}
                    perDoc.perDocTvf.WriteTo(tvf);
					perDoc.numVectorFields = 0;
				}
				
				System.Diagnostics.Debug.Assert(lastDocID == perDoc.docID + docWriter.GetDocStoreOffset());
				
				lastDocID++;
                perDoc.Reset();
				Free(perDoc);
				System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("TermVectorsTermsWriter.finishDocument end"));
			}
		}
		internal void  FinishDocument(PerDoc perDoc)
		{
			lock (this)
			{
				System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("StoredFieldsWriter.finishDocument start"));
				InitFieldsWriter();
				
				Fill(perDoc.docID);
				
				// Append stored fields to the real FieldsWriter:
				fieldsWriter.FlushDocument(perDoc.numStoredFields, perDoc.fdt);
				lastDocID++;
				perDoc.Reset();
				Free(perDoc);
				System.Diagnostics.Debug.Assert(docWriter.writer.TestPoint("StoredFieldsWriter.finishDocument end"));
			}
		}