org.apache.lucene.index

Class MultiReader

  • All Implemented Interfaces:
    Closeable, AutoCloseable


    public class MultiReader
    extends BaseCompositeReader<IndexReader>
    A CompositeReader which reads multiple indexes, appending their content. It can be used to create a view on several sub-readers (like DirectoryReader) and execute searches on it.

    For efficiency, in this API documents are often referred to via document numbers, non-negative integers which each name a unique document in the index. These document numbers are ephemeral -- they may change as documents are added to and deleted from an index. Clients should thus not rely on a given document having the same number between sessions.

    NOTE: IndexReader instances are completely thread safe, meaning multiple threads can call any of its methods, concurrently. If your application requires external synchronization, you should not synchronize on the IndexReader instance; use your own (non-Lucene) objects instead.

    • Constructor Detail

      • MultiReader

        public MultiReader(IndexReader... subReaders)
                    throws IOException

        Construct a MultiReader aggregating the named set of (sub)readers.

        Note that all subreaders are closed if this Multireader is closed.

        Parameters:
        subReaders - set of (sub)readers
        Throws:
        IOException
      • MultiReader

        public MultiReader(IndexReader[] subReaders,
                           boolean closeSubReaders)
                    throws IOException

        Construct a MultiReader aggregating the named set of (sub)readers.

        Parameters:
        subReaders - set of (sub)readers; this array will be cloned.
        closeSubReaders - indicates whether the subreaders should be closed when this MultiReader is closed
        Throws:
        IOException