Lucene.Net.Index.TestIndexWriterMergePolicy.TestMaxBufferedDocsChange C# (CSharp) Метод

TestMaxBufferedDocsChange() приватный Метод

private TestMaxBufferedDocsChange ( ) : void
Результат void
		public virtual void  TestMaxBufferedDocsChange()
		{
			Directory dir = new RAMDirectory();
			
			IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED);
			writer.SetMaxBufferedDocs(101);
			writer.MergeFactor = 101;
			writer.SetMergePolicy(new LogDocMergePolicy(writer));
			
			// leftmost* segment has 1 doc
			// rightmost* segment has 100 docs
			for (int i = 1; i <= 100; i++)
			{
				for (int j = 0; j < i; j++)
				{
					AddDoc(writer);
					CheckInvariants(writer);
				}
				writer.Close();
				
				writer = new IndexWriter(dir, new WhitespaceAnalyzer(), false, IndexWriter.MaxFieldLength.UNLIMITED);
				writer.SetMaxBufferedDocs(101);
				writer.MergeFactor = 101;
				writer.SetMergePolicy(new LogDocMergePolicy(writer));
			}
			
			writer.SetMaxBufferedDocs(10);
			writer.MergeFactor = 10;
			
			// merge policy only fixes segments on levels where merges
			// have been triggered, so check invariants after all adds
			for (int i = 0; i < 100; i++)
			{
				AddDoc(writer);
			}
			CheckInvariants(writer);
			
			for (int i = 100; i < 1000; i++)
			{
				AddDoc(writer);
			}
		    writer.Commit();
		    ((ConcurrentMergeScheduler) writer.MergeScheduler).Sync();
		    writer.Commit();
			CheckInvariants(writer);
			
			writer.Close();
		}