Lucene.Net.Index.IndexWriter.SetMergePolicy C# (CSharp) Method

SetMergePolicy() public method

Expert: set the merge policy used by this writer.
public SetMergePolicy ( MergePolicy mp ) : void
mp MergePolicy
return void
		public virtual void  SetMergePolicy(MergePolicy mp)
		{
			EnsureOpen();
			if (mp == null)
				throw new System.NullReferenceException("MergePolicy must be non-null");
			
			if (mergePolicy != mp)
				mergePolicy.Close();
			mergePolicy = mp;
			PushMaxBufferedDocs();
			if (infoStream != null)
			{
				Message("setMergePolicy " + mp);
			}
		}

Usage Example

        public virtual void  TestForceFlush()
        {
            Directory dir = new RAMDirectory();

            IndexWriter writer = new IndexWriter(dir, new WhitespaceAnalyzer(), true, IndexWriter.MaxFieldLength.LIMITED);

            writer.SetMaxBufferedDocs(10);
            writer.SetMergeFactor(10);
            LogDocMergePolicy mp = new LogDocMergePolicy(writer);

            mp.SetMinMergeDocs(100);
            writer.SetMergePolicy(mp);

            for (int i = 0; i < 100; i++)
            {
                AddDoc(writer);
                writer.Close();

                writer = new IndexWriter(dir, new WhitespaceAnalyzer(), false, IndexWriter.MaxFieldLength.LIMITED);
                writer.SetMaxBufferedDocs(10);
                writer.SetMergePolicy(mp);
                mp.SetMinMergeDocs(100);
                writer.SetMergeFactor(10);
                CheckInvariants(writer);
            }

            writer.Close();
        }
All Usage Examples Of Lucene.Net.Index.IndexWriter::SetMergePolicy
IndexWriter