The answer is because addIndexes() currently always does an optimize post-merge. If I recall correctly optimize() will create a complete copy of the existing index during the optimize process then delete the old one so this shouldn't be done too often.
of interest, why are you using a RAMDirectory here? An IndexWriter uses one internally of size IndexWriter.setMaxBufferedDocs so you get the benefits of buffering automatically when writing to a File-based directory.
Cheers
Mark
To unsubscribe, e-mail: java-user-unsubscribe (AT) lucene (DOT) apache.org
For additional commands, e-mail: java-user-help (AT) lucene (DOT) apache.org