Index: lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java =================================================================== --- lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java (revision 1036886) +++ lucene/contrib/misc/src/java/org/apache/lucene/index/MultiPassIndexSplitter.java (working copy) @@ -174,13 +174,11 @@ * list of deletions. */ public static class FakeDeleteIndexReader extends FilterIndexReader { - // TODO: switch to flex api, here - OpenBitSet dels; OpenBitSet oldDels = null; - public FakeDeleteIndexReader(IndexReader in) { - super(in); + public FakeDeleteIndexReader(IndexReader in) throws IOException { + super(SlowMultiReaderWrapper.wrap(in)); dels = new OpenBitSet(in.maxDoc()); if (in.hasDeletions()) { oldDels = new OpenBitSet(in.maxDoc()); @@ -221,11 +219,6 @@ } @Override - public IndexReader[] getSequentialSubReaders() { - return null; - } - - @Override public Bits getDeletedDocs() { return dels; } Index: lucene/src/java/org/apache/lucene/index/SegmentMerger.java =================================================================== --- lucene/src/java/org/apache/lucene/index/SegmentMerger.java (revision 1036886) +++ lucene/src/java/org/apache/lucene/index/SegmentMerger.java (working copy) @@ -35,6 +35,7 @@ import org.apache.lucene.store.IndexInput; import org.apache.lucene.store.IndexOutput; import org.apache.lucene.util.Bits; +import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.ReaderUtil; import org.apache.lucene.util.MultiBits; @@ -42,9 +43,6 @@ * The SegmentMerger class combines two or more Segments, represented by an IndexReader ({@link #add}, * into a single Segment. After adding the appropriate readers, call the merge method to combine the * segments. - *
- * If the compoundFile flag is set, then the segments will be merged into a compound file.
- *
*
* @see #merge
* @see #add
@@ -108,19 +106,10 @@
* @param reader
*/
final void add(IndexReader reader) {
- readers.add(reader);
+ ReaderUtil.gatherSubReaders(readers, reader);
}
/**
- *
- * @param i The index of the reader to return
- * @return The ith reader to be merged
- */
- final IndexReader segmentReader(int i) {
- return readers.get(i);
- }
-
- /**
* Merges the readers specified by the {@link #add} method into the directory passed to the constructor
* @return The number of documents that were merged
* @throws CorruptIndexException if the index is corrupt
@@ -160,17 +149,6 @@
return mergedDocs;
}
- /**
- * close all IndexReaders that have been added.
- * Should not be called before merge().
- * @throws IOException
- */
- final void closeReaders() throws IOException {
- for (final IndexReader reader : readers) {
- reader.close();
- }
- }
-
final List