# All Classes

- All Classes Interface Summary Class Summary Enum Summary
  Class | Description
  --- | ---
  BitSetProducer | A producer of `BitSet`s per segment.
  BlockJoinSelector | Select a value from a block of documents.
  BlockJoinSelector.Type | Type of selection to perform.
  CheckJoinIndex | Utility class to check a block join index.
  DiversifyingChildrenByteKnnVectorQuery | kNN byte vector query that joins matching children vector documents with their parent doc id.
  DiversifyingChildrenFloatKnnVectorQuery | kNN float vector query that joins matching children vector documents with their parent doc id.
  DiversifyingNearestChildrenKnnCollectorManager | DiversifyingNearestChildrenKnnCollectorManager responsible for creating `DiversifyingNearestChildrenKnnCollector` instances.
  JoinUtil | Utility for query time joining.
  ParentChildrenBlockJoinQuery | A query that returns all the matching child documents for a specific parent document indexed together in the same block.
  QueryBitSetProducer | A `BitSetProducer` that wraps a query and caches matching `BitSet`s per segment.
  ScoreMode | How to aggregate multiple child hit scores into a single parent score.
  SeekingTermSetTermsEnum | A filtered TermsEnum that uses a BytesRefHash as a filter
  ToChildBlockJoinQuery | Just like `ToParentBlockJoinQuery`, except this query joins in reverse: you provide a Query matching parent documents and it joins down to child documents.
  ToParentBlockJoinQuery | This query requires that you index children and parent docs as a single block, using the `IndexWriter.addDocuments()` or `IndexWriter.updateDocuments()` API.
  ToParentBlockJoinSortField | A special sort field that allows sorting parent docs based on nested / child level fields.