public static void ApplyTo(IndexWriter writer) { writer.MergeFactor = MergeFactor; writer.MaxMergeDocs = MaxMergeDocs; var mergePolicy = new LogByteSizeMergePolicy(writer) { MaxMergeDocs = MaxMergeDocs, MergeFactor = MergeFactor, MinMergeMB = MinMergeMB, MaxMergeMB = MaxMergeMB }; writer.SetMergePolicy(mergePolicy); }
public void ApplyToWriterConfig(IndexWriterConfig config) { try { // possibly take in a MergePolicy or configure it elsewhere var mergePolicy = new LogByteSizeMergePolicy(); if (MergeFactor != null) { mergePolicy.MergeFactor = (int)MergeFactor; } if (MaxMergeDocs != null) { mergePolicy.MaxMergeDocs = (int)MaxMergeDocs; } config.MergePolicy = mergePolicy; if (MaxBufferedDocs != null) { config.SetMaxBufferedDocs((int)MaxBufferedDocs); } if (RamBufferSizeMb != null) { config.SetRAMBufferSizeMB((int)RamBufferSizeMb); } if (TermIndexInterval != null) { config.SetTermIndexInterval((int)TermIndexInterval); } } catch (ArgumentOutOfRangeException) { // TODO: Log it } }