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

Packages that use IndexReader
org.apache.lucene.index: Code to maintain and access indices.
org.apache.lucene.search: Code to search indices.
org.apache.lucene.search.spans: The calculus of spans.

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

Classes in org.apache.lucene.index with type parameters of type IndexReader
`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
`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` `StandardDirectoryReader` Default implementation of `DirectoryReader`.

Methods in org.apache.lucene.index that return IndexReader
`abstract IndexReader` IndexReaderContext.`reader()` Returns the `IndexReader`, this context represents.

Methods in org.apache.lucene.index that return types with arguments of type IndexReader
`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
`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 and Description
`BaseCompositeReader(R[] subReaders)` 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.

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

Methods in org.apache.lucene.search that return IndexReader
`IndexReader` IndexSearcher.`getIndexReader()` Return the `IndexReader` this searches.

Methods in org.apache.lucene.search with parameters of type IndexReader
`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` DisjunctionMaxQuery.`rewrite(IndexReader reader)` Optimize our representation and our subqueries representations
`Query` PhraseQuery.`rewrite(IndexReader reader)`
`Query` ConstantScoreQuery.`rewrite(IndexReader reader)`
`Query` BoostQuery.`rewrite(IndexReader reader)`
`Query` NGramPhraseQuery.`rewrite(IndexReader reader)`
`Query` BlendedTermQuery.`rewrite(IndexReader reader)`
`Query` IndexOrDocValuesQuery.`rewrite(IndexReader reader)`
`Query` BooleanQuery.`rewrite(IndexReader reader)`
`Query` SynonymQuery.`rewrite(IndexReader reader)`
`Query` Query.`rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.
`Query` MultiTermQuery.`rewrite(IndexReader reader)` To rewrite to a simpler form, instead return a simpler enum from `MultiTermQuery.getTermsEnum(Terms, AttributeSource)`.
`Query` MultiPhraseQuery.`rewrite(IndexReader reader)`
`Query` TermInSetQuery.`rewrite(IndexReader reader)`
`Query` ScoringRewrite.`rewrite(IndexReader reader, MultiTermQuery query)`
`abstract Query` MultiTermQuery.RewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`
`Query` TopTermsRewrite.`rewrite(IndexReader reader, MultiTermQuery query)`
`Query` DocValuesRewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`

Constructors in org.apache.lucene.search with parameters of type IndexReader
Constructor and 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.

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

Methods in org.apache.lucene.search.spans with parameters of type IndexReader
`Query` SpanMultiTermQueryWrapper.`rewrite(IndexReader reader)`
`Query` SpanPositionCheckQuery.`rewrite(IndexReader reader)`
`Query` SpanNotQuery.`rewrite(IndexReader reader)`
`Query` SpanNearQuery.`rewrite(IndexReader reader)`
`Query` SpanBoostQuery.`rewrite(IndexReader reader)`
`Query` FieldMaskingSpanQuery.`rewrite(IndexReader reader)`
`Query` SpanOrQuery.`rewrite(IndexReader reader)`
`abstract SpanQuery` SpanMultiTermQueryWrapper.SpanRewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`
`SpanQuery` SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite.`rewrite(IndexReader reader, MultiTermQuery query)`