# Uses of Package
org.apache.lucene.search

- Packages that use org.apache.lucene.search
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.lucene90 | Lucene 9.0 file format.
  org.apache.lucene.codecs.lucene95 | Lucene 9.5 file format.
  org.apache.lucene.codecs.lucene99 | Lucene 9.9 file format.
  org.apache.lucene.codecs.perfield | Postings format that can delegate to different formats per-field.
  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.comparators | Comparators, used to compare hits so as to determine their sort order when collecting the top results with `TopFieldCollector`.
  org.apache.lucene.search.knn | Classes related to vector search: knn and vector fields.
  org.apache.lucene.search.similarities | This package contains the various ranking models that can be used in Lucene.
  org.apache.lucene.util | Some utility classes.
  org.apache.lucene.util.automaton | Finite-state automaton for regular expressions.
  org.apache.lucene.util.hnsw | Navigable Small-World graph, nominally Hierarchical but currently only has a single layer.
  org.apache.lucene.util.quantization | Provides quantization methods for scaling vector values to smaller data types and possibly fewer dimensions

- Classes in org.apache.lucene.search used by org.apache.lucene.codecs
  Class | Description
  --- | ---
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors

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

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

- Classes in org.apache.lucene.search used by org.apache.lucene.codecs.lucene99
  Class | Description
  --- | ---
  DocIdSetIterator | This abstract class defines methods to iterate over a set of non-decreasing doc ids.
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  TaskExecutor | Executor wrapper responsible for the execution of concurrent tasks.

- Classes in org.apache.lucene.search used by org.apache.lucene.codecs.perfield
  Class | Description
  --- | ---
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors

- Classes in org.apache.lucene.search used by org.apache.lucene.document
  Class | Description
  --- | ---
  DocIdSetIterator | This abstract class defines methods to iterate over a set of non-decreasing doc ids.
  DoubleValuesSource | Base class for producing `DoubleValues`
  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.
  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.
  Weight | Expert: Calculate query weights and build query scorers.

- Classes in org.apache.lucene.search used by org.apache.lucene.index
  Class | Description
  --- | ---
  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.
  IndexSearcher | Implements search over a single IndexReader.
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  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.
  SortField | Stores information about how to sort documents by terms in an individual field.
  TopDocs | Represents hits returned by `IndexSearcher.search(Query,int)`.

- Classes in org.apache.lucene.search used by org.apache.lucene.search
  Class | Description
  --- | ---
  AbstractKnnCollector | AbstractKnnCollector is the default implementation for a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  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.
  CheckedIntConsumer | Like `IntConsumer`, but may throw checked exceptions.
  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.
  DocIdStream | A stream of doc IDs.
  DoubleValues | Per-segment, per-document double values, which can be calculated at search-time
  DoubleValuesSource | Base class for producing `DoubleValues`
  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`.
  FieldComparatorSource | Provides a `FieldComparator` for custom field sorting.
  FieldDoc | Expert: A ScoreDoc which also contains information about how to sort the referenced document.
  FieldExistsQuery | A `Query` that matches documents that contain either a `KnnFloatVectorField`, `KnnByteVectorField` or a field that indexes norms or doc values.
  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.
  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.
  IndexSearcher.TooManyClauses | Thrown when an attempt is made to add more than `IndexSearcher.TooManyClauses.getMaxClauseCount()` clauses.
  IndriAndQuery | A Query that matches documents matching combinations of subqueries.
  IndriDisjunctionScorer | The Indri implemenation of a disjunction scorer which stores the subscorers for the child queries.
  IndriQuery | A Basic abstract query that all IndriQueries can extend to implement toString, equals, getClauses, and iterator.
  IndriScorer | The Indri parent scorer that stores the boost so that IndriScorers can use the boost outside of the term.
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  KnnFloatVectorQuery | Uses `KnnVectorsReader.search(String, float[], KnnCollector, Bits)` to perform nearest neighbour search.
  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.
  LeafSimScorer | `Similarity.SimScorer` on a specific `LeafReader`.
  LongValues | Per-segment, per-document long values, which can be calculated at search-time
  LongValuesSource | Base class for producing `LongValues`
  LRUQueryCache.CacheAndCount | Cache of doc ids with a count.
  Matches | Reports the positions and optionally offsets of all matching terms in a query for a single document
  MatchesIterator | An iterator over match positions (and optionally offsets) for a single document and field
  MaxNonCompetitiveBoostAttribute | Add this `Attribute` to a fresh `AttributeSource` before calling `MultiTermQuery.getTermsEnum(Terms,AttributeSource)`.
  MaxScoreCache | Compute maximum scores based on `Impacts` and keep them in a cache in order not to run expensive similarity score computations multiple times on the same data.
  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
  MultiPhraseQuery.UnionPostingsEnum | Takes the logical union of multiple PostingsEnum iterators.
  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.
  PhraseMatcher | Base class for exact and sloppy phrase matching
  PhraseQuery | A Query that matches documents containing a particular sequence of terms.
  PhraseQuery.Builder | A builder for phrase queries.
  PhraseQuery.PostingsAndFreq | Term postings and position information for phrase matching
  PointInSetQuery.Stream | Iterator of encoded point values.
  Pruning | Controls `LeafFieldComparator` how to skip documents
  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`
  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`.
  TaskExecutor | Executor wrapper responsible for the execution of concurrent tasks.
  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.
  TotalHitCountCollector | Just counts the total number of hits.
  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.comparators
  Class | Description
  --- | ---
  DocIdSetIterator | This abstract class defines methods to iterate over a set of non-decreasing doc ids.
  FieldComparator | Expert: a FieldComparator compares hits so as to determine their sort order when collecting the top results with `TopFieldCollector`.
  LeafFieldComparator | Expert: comparator that gets instantiated on each leaf from a top-level `FieldComparator` instance.
  Pruning | Controls `LeafFieldComparator` how to skip documents
  Scorable | Allows access to the score of a Query

- Classes in org.apache.lucene.search used by org.apache.lucene.search.knn
  Class | Description
  --- | ---
  AbstractKnnCollector | AbstractKnnCollector is the default implementation for a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  IndexSearcher | Implements search over a single IndexReader.
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  TopDocs | Represents hits returned by `IndexSearcher.search(Query,int)`.
  TopKnnCollector | TopKnnCollector is a specific KnnCollector.

- Classes in org.apache.lucene.search used by org.apache.lucene.search.similarities
  Class | 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.util
  Class | 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 | 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.hnsw
  Class | Description
  --- | ---
  DocIdSetIterator | This abstract class defines methods to iterate over a set of non-decreasing doc ids.
  KnnCollector | KnnCollector is a knn collector used for gathering kNN results and providing topDocs from the gathered neighbors
  TaskExecutor | Executor wrapper responsible for the execution of concurrent tasks.
  TopDocs | Represents hits returned by `IndexSearcher.search(Query,int)`.

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