# Uses of Package
org.apache.lucene.search

Packages that use org.apache.lucene.search
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.similarities: This package contains the various ranking models that can be used in Lucene.
org.apache.lucene.search.spans: The calculus of spans.
org.apache.lucene.util: Some utility classes.
org.apache.lucene.util.automaton: Finite-state automaton for regular expressions.
org.apache.lucene.util.bkd: Block KD-tree, implementing the generic spatial data structure described in this paper.

Classes in org.apache.lucene.search used by org.apache.lucene.document
Class and Description
DoubleValuesSource Base class for producing `DoubleValues` To obtain a `DoubleValues` object for a leaf reader, clients should call `DoubleValuesSource.rewrite(IndexSearcher)` against the top-level searcher, and then call `DoubleValuesSource.getValues(LeafReaderContext, DoubleValues)` on the resulting DoubleValuesSource.
IndexSearcher Implements search over a single IndexReader.
Query The abstract base class for queries.
QueryVisitor Allows recursion through a query tree
ScoreMode Different modes of search.
SortField Stores information about how to sort documents by terms in an individual field.
Weight Expert: Calculate query weights and build query scorers.

Classes in org.apache.lucene.search used by org.apache.lucene.index
Class and Description
DocIdSetIterator This abstract class defines methods to iterate over a set of non-decreasing doc ids.
Query The abstract base class for queries.
ReferenceManager Utility class to safely share instances of a certain type across multiple threads, while periodically refreshing them.
Sort Encapsulates sort criteria for returned hits.

Classes in org.apache.lucene.search used by org.apache.lucene.search
Class and Description
AutomatonQuery A `Query` that will match terms against a finite-state machine.
BlendedTermQuery A `Query` that blends index statistics across multiple terms.
BlendedTermQuery.Builder A Builder for `BlendedTermQuery`.
BlendedTermQuery.RewriteMethod A `BlendedTermQuery.RewriteMethod` defines how queries for individual terms should be merged.
BooleanClause A clause in a BooleanQuery.
BooleanClause.Occur Specifies how clauses are to occur in matching documents.
BooleanQuery A Query that matches documents matching boolean combinations of other queries, e.g.
BooleanQuery.Builder A builder for boolean queries.
BoostAttribute Add this `Attribute` to a `TermsEnum` returned by `MultiTermQuery.getTermsEnum(Terms,AttributeSource)` and update the boost on each returned term.
BulkScorer This class is used to score a range of documents at once, and is returned by `Weight.bulkScorer(org.apache.lucene.index.LeafReaderContext)`.
CachingCollector Caches all docs, and optionally also scores, coming from a search, and is then able to replay them to another collector.
CollectionStatistics Contains statistics for a collection (field).
Collector Expert: Collectors are primarily meant to be used to gather raw results from a search, and implement sorting or custom result filtering, collation, etc.
CollectorManager A manager of collectors.
DisiPriorityQueue A priority queue of DocIdSetIterators that orders by current doc ID.
DisiWrapper Wrapper used in `DisiPriorityQueue`.
DocIdSet A DocIdSet contains a set of doc ids.
DocIdSetIterator This abstract class defines methods to iterate over a set of non-decreasing doc ids.
DoubleValues Per-segment, per-document double values, which can be calculated at search-time
DoubleValuesSource Base class for producing `DoubleValues` To obtain a `DoubleValues` object for a leaf reader, clients should call `DoubleValuesSource.rewrite(IndexSearcher)` against the top-level searcher, and then call `DoubleValuesSource.getValues(LeafReaderContext, DoubleValues)` on the resulting DoubleValuesSource.
Explanation Expert: Describes the score computation for document and query.
FieldComparator Expert: a FieldComparator compares hits so as to determine their sort order when collecting the top results with `TopFieldCollector`.
FieldComparator.NumericComparator Base FieldComparator class for numeric types
FieldComparatorSource Provides a `FieldComparator` for custom field sorting.
FieldDoc Expert: A ScoreDoc which also contains information about how to sort the referenced document.
FieldValueHitQueue Expert: A hit queue for sorting by hits by terms in more than one field.
FieldValueHitQueue.Entry Extension of ScoreDoc to also store the `FieldComparator` slot.
FilterCollector `Collector` delegator.
FuzzyTermsEnum.LevenshteinAutomataAttribute reuses compiled automata across different segments, because they are independent of the index
IndexSearcher Implements search over a single IndexReader.
IndexSearcher.LeafSlice A class holding a subset of the `IndexSearcher`s leaf contexts to be executed within a single thread.
LeafCollector Collector decouples the score from the collected doc: the score computation is skipped entirely if it's not needed.
LeafFieldComparator Expert: comparator that gets instantiated on each leaf from a top-level `FieldComparator` instance.
LongValues Per-segment, per-document long values, which can be calculated at search-time
LongValuesSource Base class for producing `LongValues` To obtain a `LongValues` object for a leaf reader, clients should call `LongValuesSource.rewrite(IndexSearcher)` against the top-level searcher, and then `LongValuesSource.getValues(LeafReaderContext, DoubleValues)`.
Matches Reports the positions and optionally offsets of all matching terms in a query for a single document To obtain a `MatchesIterator` for a particular field, call `Matches.getMatches(String)`.
MatchesIterator An iterator over match positions (and optionally offsets) for a single document and field To iterate over the matches, call `MatchesIterator.next()` until it returns `false`, retrieving positions and/or offsets after each call.
MaxNonCompetitiveBoostAttribute Add this `Attribute` to a fresh `AttributeSource` before calling `MultiTermQuery.getTermsEnum(Terms,AttributeSource)`.
MultiCollectorManager.Collectors
MultiPhraseQuery A generalized version of `PhraseQuery`, with the possibility of adding more than one term at the same position that are treated as a disjunction (OR).
MultiPhraseQuery.Builder A builder for multi-phrase queries
MultiTermQuery An abstract `Query` that matches documents containing a subset of terms provided by a `FilteredTermsEnum` enumeration.
MultiTermQuery.RewriteMethod Abstract class that defines how the query is rewritten.
NamedMatches Utility class to help extract the set of sub queries that have matched from a larger query.
PhraseQuery A Query that matches documents containing a particular sequence of terms.
PhraseQuery.Builder A builder for phrase queries.
PointInSetQuery.Stream Iterator of encoded point values.
Query The abstract base class for queries.
QueryCache A cache for queries.
QueryCachingPolicy A policy defining which filters should be cached.
QueryVisitor Allows recursion through a query tree
ReferenceManager Utility class to safely share instances of a certain type across multiple threads, while periodically refreshing them.
ReferenceManager.RefreshListener Use to receive notification when a refresh has finished.
Rescorer Re-scores the topN results (`TopDocs`) from an original query.
Scorable Allows access to the score of a Query
Scorable.ChildScorable A child Scorer and its relationship to its parent.
ScoreDoc Holds one hit in `TopDocs`.
ScoreMode Different modes of search.
Scorer Expert: Common scoring functionality for different types of queries.
ScorerSupplier A supplier of `Scorer`.
ScoringRewrite Base rewrite method that translates each term into a query, and keeps the scores as computed by the query.
SearcherFactory Factory class used by `SearcherManager` to create new IndexSearchers.
SearcherLifetimeManager.Pruner See `SearcherLifetimeManager.prune(org.apache.lucene.search.SearcherLifetimeManager.Pruner)`.

SegmentCacheable
Interface defining whether or not an object can be cached against a `LeafReader` Objects that depend only on segment-immutable structures such as Points or postings lists can just return `true` from `SegmentCacheable.isCacheable(LeafReaderContext)` Objects that depend on doc values should return `DocValues.isCacheable(LeafReaderContext, String...)`, which will check to see if the doc values fields have been updated.

SimpleCollector Base `Collector` implementation that is used to collect all contexts.
SimpleFieldComparator Base `FieldComparator` implementation that is used for all contexts.
Sort Encapsulates sort criteria for returned hits.
SortedNumericSelector.Type Type of selection to perform.
SortedSetSelector.Type Type of selection to perform.
SortField Stores information about how to sort documents by terms in an individual field.
SortField.Type Specifies the type of the terms to be sorted, or special types such as CUSTOM
SynonymQuery A query that treats multiple terms as synonyms.
SynonymQuery.Builder A builder for `SynonymQuery`.
TermRangeQuery A Query that matches documents within an range of terms.
TermStatistics Contains statistics for a specific term
TimeLimitingCollector.TimerThread Thread used to timeout search requests.
TopDocs Represents hits returned by `IndexSearcher.search(Query,int)`.
TopDocsCollector A base class for all collectors that return a `TopDocs` output.
TopFieldCollector A `Collector` that sorts by `SortField` using `FieldComparator`s.
TopFieldDocs Represents hits returned by `IndexSearcher.search(Query,int,Sort)`.
TopScoreDocCollector A `Collector` implementation that collects the top-scoring hits, returning them as a `TopDocs`.
TopTermsRewrite Base rewrite method for collecting only the top terms via a priority queue.
TotalHits Description of the total number of hits of a query.
TotalHits.Relation How the `TotalHits.value` should be interpreted.
TwoPhaseIterator Returned by `Scorer.twoPhaseIterator()` to expose an approximation of a `DocIdSetIterator`.
Weight Expert: Calculate query weights and build query scorers.

Classes in org.apache.lucene.search used by org.apache.lucene.search.similarities
Class and Description
CollectionStatistics Contains statistics for a collection (field).
Explanation Expert: Describes the score computation for document and query.
TermStatistics Contains statistics for a specific term

Classes in org.apache.lucene.search used by org.apache.lucene.search.spans
Class and Description
DocIdSetIterator This abstract class defines methods to iterate over a set of non-decreasing doc ids.
Explanation Expert: Describes the score computation for document and query.
IndexSearcher Implements search over a single IndexReader.
LeafSimScorer `Similarity.SimScorer` on a specific `LeafReader`.
Matches Reports the positions and optionally offsets of all matching terms in a query for a single document To obtain a `MatchesIterator` for a particular field, call `Matches.getMatches(String)`.
MultiTermQuery An abstract `Query` that matches documents containing a subset of terms provided by a `FilteredTermsEnum` enumeration.
MultiTermQuery.RewriteMethod Abstract class that defines how the query is rewritten.
Query The abstract base class for queries.
QueryVisitor Allows recursion through a query tree
Scorable Allows access to the score of a Query
ScoreMode Different modes of search.
Scorer Expert: Common scoring functionality for different types of queries.

SegmentCacheable
Interface defining whether or not an object can be cached against a `LeafReader` Objects that depend only on segment-immutable structures such as Points or postings lists can just return `true` from `SegmentCacheable.isCacheable(LeafReaderContext)` Objects that depend on doc values should return `DocValues.isCacheable(LeafReaderContext, String...)`, which will check to see if the doc values fields have been updated.

TwoPhaseIterator Returned by `Scorer.twoPhaseIterator()` to expose an approximation of a `DocIdSetIterator`.
Weight Expert: Calculate query weights and build query scorers.

Classes in org.apache.lucene.search used by org.apache.lucene.util
Class and Description
BooleanClause.Occur Specifies how clauses are to occur in matching documents.
BooleanQuery.Builder A builder for boolean queries.
DocIdSet A DocIdSet contains a set of doc ids.
DocIdSetIterator This abstract class defines methods to iterate over a set of non-decreasing doc ids.
MultiPhraseQuery.Builder A builder for multi-phrase queries
Query The abstract base class for queries.

Classes in org.apache.lucene.search used by org.apache.lucene.util.automaton
Class and Description
Query The abstract base class for queries.
QueryVisitor Allows recursion through a query tree

Classes in org.apache.lucene.search used by org.apache.lucene.util.bkd
Class and Description
DocIdSetIterator This abstract class defines methods to iterate over a set of non-decreasing doc ids.