## 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.
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
Modifier and Type | Class and 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 and Description
--- | ---
`class` | `AtomicReader` `AtomicReader` is an abstract class, providing an interface for accessing an index.
`class` | `BaseCompositeReader<R extends IndexReader>` Base class for implementing `CompositeReader`s based on an array of sub-readers.
`class` | `CompositeReader` Instances of this reader type can only be used to get stored fields from the underlying AtomicReaders, 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` | `FilterAtomicReader` A `FilterAtomicReader` contains another AtomicReader, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality.
`class` | `MultiReader` A `CompositeReader` which reads multiple indexes, appending their content.
`class` | `ParallelAtomicReader` An `AtomicReader` which reads multiple, parallel indexes.
`class` | `ParallelCompositeReader` An `CompositeReader` which reads multiple, parallel indexes.
`class` | `SegmentReader` IndexReader implementation over a single segment.
`class` | `SlowCompositeReaderWrapper` This class forces a composite reader (eg a `MultiReader` or `DirectoryReader`) to emulate an atomic reader.

Methods in org.apache.lucene.index that return IndexReader
Modifier and Type | Method and 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 and 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 and Description
--- | ---
`void` | IndexWriter.`addIndexes(IndexReader... readers)` Merges the provided indexes into this index.
`static BinaryDocValues` | MultiDocValues.`getBinaryValues(IndexReader r, String field)` Returns a BinaryDocValues for a reader's docvalues (potentially merging on-the-fly)
`static Fields` | MultiFields.`getFields(IndexReader reader)` Returns a single `Fields` instance for this reader, merging fields/terms/docs/positions on the fly.
`static Collection<String>` | MultiFields.`getIndexedFields(IndexReader reader)` Call this to get the (merged) FieldInfos representing the set of indexed fields only for a composite reader.
`static Bits` | MultiFields.`getLiveDocs(IndexReader reader)` Returns a single `Bits` instance for this reader, merging live Documents on the fly.
`static FieldInfos` | MultiFields.`getMergedFieldInfos(IndexReader reader)` Call this to get the (merged) FieldInfos for a composite reader.
`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 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 DocsEnum` | MultiFields.`getTermDocsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term)` Returns `DocsEnum` for the specified field & term.
`static DocsEnum` | MultiFields.`getTermDocsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term, int flags)` Returns `DocsEnum` for the specified field & term, with control over whether freqs are required.
`static DocsAndPositionsEnum` | MultiFields.`getTermPositionsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term)` Returns `DocsAndPositionsEnum` for the specified field & term.
`static DocsAndPositionsEnum` | MultiFields.`getTermPositionsEnum(IndexReader r, Bits liveDocs, String field, BytesRef term, int flags)` Returns `DocsAndPositionsEnum` for the specified field & term, with control over whether offsets and payloads are required.
`static Terms` | MultiFields.`getTerms(IndexReader r, String field)` This method may return null if the field does not exist.
`void` | IndexReader.ReaderClosedListener.`onClose(IndexReader reader)` Invoked when the `IndexReader` is closed.
`void` | IndexReader.`registerParentReader(IndexReader reader)` Expert: This method is called by `IndexReader`s which wrap other readers (e.g.
`static long` | MultiFields.`totalTermFreq(IndexReader r, String field, BytesRef text)` Returns the total number of occurrences of this term across all documents (the sum of the freq() for each doc that has this term).
`boolean` | 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,boolean)`).
`static AtomicReader` | SlowCompositeReaderWrapper.`wrap(IndexReader reader)` This method is sugar for getting an `AtomicReader` from an `IndexReader` of any kind.

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
Modifier and Type | Method and Description
--- | ---
`IndexReader` | IndexSearcher.`getIndexReader()` Return the `IndexReader` this searches.

Methods in org.apache.lucene.search with parameters of type IndexReader
Modifier and Type | Method and Description
--- | ---
`long` | NRTManager.TrackingIndexWriter.`addIndexes(IndexReader... readers)`
`IndexSearcher` | SearcherFactory.`newSearcher(IndexReader reader)` Returns a new IndexSearcher over the given reader.
`Query` | Query.`rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.
`Query` | PhraseQuery.`rewrite(IndexReader reader)`
`Query` | NGramPhraseQuery.`rewrite(IndexReader reader)`
`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` | FilteredQuery.`rewrite(IndexReader reader)` Rewrites the query.
`Query` | DisjunctionMaxQuery.`rewrite(IndexReader reader)` Optimize our representation and our subqueries representations
`Query` | ConstantScoreQuery.`rewrite(IndexReader reader)`
`Query` | BooleanQuery.`rewrite(IndexReader reader)`
`Q` | TopTermsRewrite.`rewrite(IndexReader reader, MultiTermQuery query)`
`Q` | ScoringRewrite.`rewrite(IndexReader reader, MultiTermQuery query)`
`abstract Query` | MultiTermQuery.RewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`
`Query` | FieldCacheRewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`
`Query` | DocTermOrdsRewriteMethod.`rewrite(IndexReader reader, MultiTermQuery query)`
`long` | NRTManager.TrackingIndexWriter.`tryDeleteDocument(IndexReader reader, int docID)`

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, ExecutorService executor)` Runs searches for each segment separately, using the provided ExecutorService.

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

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