Index: src/java/org/apache/lucene/index/IndexWriter.java =================================================================== --- src/java/org/apache/lucene/index/IndexWriter.java (revision 170314) +++ src/java/org/apache/lucene/index/IndexWriter.java (working copy) @@ -462,7 +462,10 @@ dw.addDocument(segmentName, doc); synchronized (this) { segmentInfos.addElement(new SegmentInfo(segmentName, 1, ramDirectory)); - maybeMergeSegments(); + if(waitUntil++>2000) { + maybeMergeSegments(); + waitUntil=0; + } } } @@ -509,6 +512,8 @@ */ public int maxMergeDocs = DEFAULT_MAX_MERGE_DOCS; + private int waitUntil = 0; + /** If non-null, information about merges will be printed to this. * @deprecated use {@link #setInfoStream} instead */