## Uses of Class
org.apache.lucene.search.IndexSearcher

- Packages that use IndexSearcher
  Package | Description
  --- | ---
  org.apache.lucene.document | The logical representation of a `Document` for indexing and searching.
  org.apache.lucene.index | Code to maintain and access indices.
  org.apache.lucene.search | Code to search indices.
  org.apache.lucene.search.knn | Classes related to vector search: knn and vector fields.

- - ### Uses of IndexSearcher in org.apache.lucene.document

    Methods in org.apache.lucene.document with parameters of type IndexSearcher
    Modifier and Type | Method | Description
    --- | --- | ---
    `Weight` | RangeFieldQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | XYDocValuesPointInGeometryQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |

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

    Methods in org.apache.lucene.index with parameters of type IndexSearcher
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TermStates` | TermStates.`build​(IndexSearcher indexSearcher, Term term, boolean needsStats)` | Creates a `TermStates` from a top-level `IndexReaderContext` and the given `Term`.

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

    Methods in org.apache.lucene.search that return IndexSearcher
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexSearcher` | SearcherLifetimeManager.`acquire​(long version)` | Retrieve a previously recorded `IndexSearcher`, if it has not yet been closed
    `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.
    `protected IndexSearcher` | SearcherManager.`refreshIfNeeded​(IndexSearcher referenceToRefresh)` |

    Methods in org.apache.lucene.search with parameters of type IndexSearcher
    Modifier and Type | Method | Description
    --- | --- | ---
    `Weight` | BooleanQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | BoostQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | ConstantScoreQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | DisjunctionMaxQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` | Create the Weight used to score us
    `Weight` | FieldExistsQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | IndexOrDocValuesQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | IndexSortSortedNumericDocValuesRangeQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | IndriAndQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `abstract Weight` | IndriQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | MatchAllDocsQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | MatchNoDocsQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | MultiPhraseQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | PhraseQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | PointInSetQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | PointRangeQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | Query.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` | Expert: Constructs an appropriate Weight implementation for this query.
    `Weight` | SynonymQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `Weight` | TermQuery.`createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `protected void` | SearcherManager.`decRef​(IndexSearcher reference)` |
    `boolean` | SearcherLifetimeManager.PruneByAge.`doPrune​(double ageSec, IndexSearcher searcher)` |
    `boolean` | SearcherLifetimeManager.Pruner.`doPrune​(double ageSec, IndexSearcher searcher)` | Return true if this searcher should be removed.
    `Explanation` | QueryRescorer.`explain​(IndexSearcher searcher, Explanation firstPassExplanation, int docID)` |
    `abstract Explanation` | Rescorer.`explain​(IndexSearcher searcher, Explanation firstPassExplanation, int docID)` | Explains how the score for the specified document was computed.
    `Explanation` | SortRescorer.`explain​(IndexSearcher searcher, Explanation firstPassExplanation, int docID)` |
    `protected int` | SearcherManager.`getRefCount​(IndexSearcher reference)` |
    `protected abstract Similarity.SimScorer` | PhraseWeight.`getStats​(IndexSearcher searcher)` |
    `static void` | TopFieldCollector.`populateScores​(ScoreDoc[] topDocs, IndexSearcher searcher, Query query)` | Populate `scores` of the given `topDocs`.
    `long` | SearcherLifetimeManager.`record​(IndexSearcher searcher)` | Records that you are now using this IndexSearcher.
    `protected IndexSearcher` | SearcherManager.`refreshIfNeeded​(IndexSearcher referenceToRefresh)` |
    `void` | SearcherLifetimeManager.`release​(IndexSearcher s)` | Release a searcher previously obtained from `SearcherLifetimeManager.acquire(long)`.
    `TopDocs` | QueryRescorer.`rescore​(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN)` |
    `static TopDocs` | QueryRescorer.`rescore​(IndexSearcher searcher, TopDocs topDocs, Query query, double weight, int topN)` | Sugar API, calling {#rescore} using a simple linear combination of firstPassScore + weight * secondPassScore
    `abstract TopDocs` | Rescorer.`rescore​(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN)` | Rescore an initial first-pass `TopDocs`.
    `TopDocs` | SortRescorer.`rescore​(IndexSearcher searcher, TopDocs firstPassTopDocs, int topN)` |
    `Query` | BlendedTermQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | BooleanQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | BoostQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | ConstantScoreQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | DisjunctionMaxQuery.`rewrite​(IndexSearcher indexSearcher)` | Optimize our representation and our subqueries representations
    `abstract DoubleValuesSource` | DoubleValuesSource.`rewrite​(IndexSearcher reader)` | Return a DoubleValuesSource specialised for the given IndexSearcher
    `Query` | FieldExistsQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | IndexOrDocValuesQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | IndexSortSortedNumericDocValuesRangeQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `LongValuesSource` | LongValuesSource.ConstantLongValuesSource.`rewrite​(IndexSearcher searcher)` |
    `abstract LongValuesSource` | LongValuesSource.`rewrite​(IndexSearcher searcher)` | Return a LongValuesSource specialised for the given IndexSearcher
    `Query` | MultiPhraseQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | MultiTermQuery.`rewrite​(IndexSearcher indexSearcher)` | To rewrite to a simpler form, instead return a simpler enum from `MultiTermQuery.getTermsEnum(Terms, AttributeSource)`.
    `Query` | NGramPhraseQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | PhraseQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `Query` | Query.`rewrite​(IndexSearcher indexSearcher)` | Expert: called to re-write queries into primitive queries.
    `Sort` | Sort.`rewrite​(IndexSearcher searcher)` | Rewrites the SortFields in this Sort, returning a new Sort if any of the fields changes during their rewriting.
    `SortField` | SortField.`rewrite​(IndexSearcher searcher)` | Rewrites this SortField, returning a new SortField if a change is made.
    `Query` | SynonymQuery.`rewrite​(IndexSearcher indexSearcher)` |
    `protected boolean` | SearcherManager.`tryIncRef​(IndexSearcher reference)` |

    Constructors in org.apache.lucene.search with parameters of type IndexSearcher
    Constructor | Description
    --- | ---
    `DisjunctionMaxWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` | Construct the Weight for this Query searched by searcher.
    `IndriAndWeight​(IndriAndQuery query, IndexSearcher searcher, ScoreMode scoreMode, float boost)` |
    `PhraseWeight​(Query query, String field, IndexSearcher searcher, ScoreMode scoreMode)` | Expert: Creates PhraseWeight instance

  - ### Uses of IndexSearcher in org.apache.lucene.search.knn

    Constructors in org.apache.lucene.search.knn with parameters of type IndexSearcher
    Constructor | Description
    --- | ---
    `TopKnnCollectorManager​(int k, IndexSearcher indexSearcher)` |