## Uses of Class
org.apache.lucene.index.IndexReader

- Packages that use IndexReader
  Package | Description
  --- | ---
  org.apache.lucene.index | Code to maintain and access indices.
  org.apache.lucene.search | Code to search indices.

- - ### Uses of IndexReader in org.apache.lucene.index

    Classes in org.apache.lucene.index with type parameters of type IndexReader
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseCompositeReader<R extends IndexReader>` | Base class for implementing `CompositeReader`s based on an array of sub-readers.

    Subclasses of IndexReader in org.apache.lucene.index
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BaseCompositeReader<R extends IndexReader>` | Base class for implementing `CompositeReader`s based on an array of sub-readers.
    `class` | `CodecReader` | LeafReader implemented by codec APIs.
    `class` | `CompositeReader` | Instances of this reader type can only be used to get stored fields from the underlying LeafReaders, but it is not possible to directly retrieve postings.
    `class` | `DirectoryReader` | DirectoryReader is an implementation of `CompositeReader` that can read indexes in a `Directory`.
    `class` | `ExitableDirectoryReader` | The `ExitableDirectoryReader` wraps a real index `DirectoryReader` and allows for a `QueryTimeout` implementation object to be checked periodically to see if the thread should exit or not.
    `static class` | `ExitableDirectoryReader.ExitableFilterAtomicReader` | Wrapper class for another FilterAtomicReader.
    `class` | `FilterCodecReader` | A `FilterCodecReader` contains another CodecReader, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
    `class` | `FilterDirectoryReader` | A FilterDirectoryReader wraps another DirectoryReader, allowing implementations to transform or extend it.
    `class` | `FilterLeafReader` | A `FilterLeafReader` contains another LeafReader, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
    `class` | `LeafReader` | `LeafReader` is an abstract class, providing an interface for accessing an index.
    `class` | `MultiReader` | A `CompositeReader` which reads multiple indexes, appending their content.
    `class` | `ParallelCompositeReader` | An `CompositeReader` which reads multiple, parallel indexes.
    `class` | `ParallelLeafReader` | An `LeafReader` which reads multiple, parallel indexes.
    `class` | `SegmentReader` | IndexReader implementation over a single segment.
    `class` | `SoftDeletesDirectoryReaderWrapper` | This reader filters out documents that have a doc values value in the given field and treat these documents as soft deleted.
    `class` | `SortingCodecReader` | An `CodecReader` which supports sorting documents by a given `Sort`.
    `class` | `StandardDirectoryReader` | Default implementation of `DirectoryReader`.

    Methods in org.apache.lucene.index that return IndexReader
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract IndexReader` | IndexReaderContext.`reader()` | Returns the `IndexReader`, this context represents.

    Methods in org.apache.lucene.index that return types with arguments of type IndexReader
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract List<? extends IndexReader>` | CompositeReader.`getSequentialSubReaders()` | Expert: returns the sequential sub readers that this reader is logically composed of.

    Methods in org.apache.lucene.index with parameters of type IndexReader
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BinaryDocValues` | MultiDocValues.`getBinaryValues​(IndexReader r, String field)` | Returns a BinaryDocValues for a reader's docvalues (potentially merging on-the-fly)
    `static int` | PointValues.`getDocCount​(IndexReader reader, String field)` | Return the cumulated number of docs that have points across all leaves of the given `IndexReader`.
    `static Collection<String>` | FieldInfos.`getIndexedFields​(IndexReader reader)` | Returns a set of names of fields that have a terms index.
    `static Bits` | MultiBits.`getLiveDocs​(IndexReader reader)` | Returns a single `Bits` instance for this reader, merging live Documents on the fly.
    `static byte[]` | PointValues.`getMaxPackedValue​(IndexReader reader, String field)` | Return the maximum packed values across all leaves of the given `IndexReader`.
    `static FieldInfos` | FieldInfos.`getMergedFieldInfos​(IndexReader reader)` | Call this to get the (merged) FieldInfos for a composite reader.
    `static byte[]` | PointValues.`getMinPackedValue​(IndexReader reader, String field)` | Return the minimum packed values across all leaves of the given `IndexReader`.
    `static NumericDocValues` | MultiDocValues.`getNormValues​(IndexReader r, String field)` | Returns a NumericDocValues for a reader's norms (potentially merging on-the-fly).
    `static NumericDocValues` | MultiDocValues.`getNumericValues​(IndexReader r, String field)` | Returns a NumericDocValues for a reader's docvalues (potentially merging on-the-fly)
    `static SortedNumericDocValues` | MultiDocValues.`getSortedNumericValues​(IndexReader r, String field)` | Returns a SortedNumericDocValues for a reader's docvalues (potentially merging on-the-fly)
    `static SortedSetDocValues` | MultiDocValues.`getSortedSetValues​(IndexReader r, String field)` | Returns a SortedSetDocValues for a reader's docvalues (potentially doing extremely slow things).
    `static SortedDocValues` | MultiDocValues.`getSortedValues​(IndexReader r, String field)` | Returns a SortedDocValues for a reader's docvalues (potentially doing extremely slow things).
    `static PostingsEnum` | MultiTerms.`getTermPostingsEnum​(IndexReader r, String field, BytesRef term)` | Returns `PostingsEnum` for the specified field and term.
    `static PostingsEnum` | MultiTerms.`getTermPostingsEnum​(IndexReader r, String field, BytesRef term, int flags)` | Returns `PostingsEnum` for the specified field and term, with control over whether freqs, positions, offsets or payloads are required.
    `static Terms` | MultiTerms.`getTerms​(IndexReader r, String field)` | This method may return null if the field does not exist or if it has no terms.
    `void` | IndexReader.`registerParentReader​(IndexReader reader)` | Expert: This method is called by `IndexReader`s which wrap other readers (e.g.
    `static long` | PointValues.`size​(IndexReader reader, String field)` | Return the cumulated number of points across all leaves of the given `IndexReader`.
    `long` | IndexWriter.`tryDeleteDocument​(IndexReader readerIn, int docID)` | Expert: attempts to delete by document ID, as long as the provided reader is a near-real-time reader (from `DirectoryReader.open(IndexWriter)`).
    `long` | IndexWriter.`tryUpdateDocValue​(IndexReader readerIn, int docID, Field... fields)` | Expert: attempts to update doc values by document ID, as long as the provided reader is a near-real-time reader (from `DirectoryReader.open(IndexWriter)`).

    Constructors in org.apache.lucene.index with parameters of type IndexReader
    Constructor | Description
    --- | ---
    `BaseCompositeReader​(R[] subReaders, Comparator<R> subReadersSorter)` | Constructs a `BaseCompositeReader` on the given subReaders.
    `MultiReader​(IndexReader... subReaders)` | Construct a MultiReader aggregating the named set of (sub)readers.
    `MultiReader​(IndexReader[] subReaders, boolean closeSubReaders)` | Construct a MultiReader aggregating the named set of (sub)readers.
    `MultiReader​(IndexReader[] subReaders, Comparator<IndexReader> subReadersSorter, boolean closeSubReaders)` | Construct a MultiReader aggregating the named set of (sub)readers.

    Constructor parameters in org.apache.lucene.index with type arguments of type IndexReader
    Constructor | Description
    --- | ---
    `MultiReader​(IndexReader[] subReaders, Comparator<IndexReader> subReadersSorter, boolean closeSubReaders)` | Construct a MultiReader aggregating the named set of (sub)readers.

  - ### Uses of IndexReader in org.apache.lucene.search

    Methods in org.apache.lucene.search that return IndexReader
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexReader` | IndexSearcher.`getIndexReader()` | Return the `IndexReader` this searches.

    Methods in org.apache.lucene.search with parameters of type IndexReader
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IndexSearcher` | SearcherManager.`getSearcher​(SearcherFactory searcherFactory, IndexReader reader, IndexReader previousReader)` | Expert: creates a searcher from the provided `IndexReader` using the provided `SearcherFactory`.
    `IndexSearcher` | SearcherFactory.`newSearcher​(IndexReader reader, IndexReader previousReader)` | Returns a new IndexSearcher over the given reader.
    `Query` | DocValuesRewriteMethod.`rewrite​(IndexReader reader, MultiTermQuery query)` |
    `abstract Query` | MultiTermQuery.RewriteMethod.`rewrite​(IndexReader reader, MultiTermQuery query)` |
    `Query` | Query.`rewrite​(IndexReader reader)` | Deprecated. Use `Query.rewrite(IndexSearcher)`
    `Query` | ScoringRewrite.`rewrite​(IndexReader reader, MultiTermQuery query)` |
    `Query` | TopTermsRewrite.`rewrite​(IndexReader reader, MultiTermQuery query)` |

    Constructors in org.apache.lucene.search with parameters of type IndexReader
    Constructor | Description
    --- | ---
    `IndexSearcher​(IndexReader r)` | Creates a searcher searching the provided index.
    `IndexSearcher​(IndexReader r, Executor executor)` | Runs searches for each segment separately, using the provided Executor.