BlockJoinSelector (Lucene 10.5.0 join API)
Description: declaration: package: org.apache.lucene.search.join, class: BlockJoinSelector

Package org.apache.lucene.search.join

# Class BlockJoinSelector

java.lang.Object
org.apache.lucene.search.join.BlockJoinSelector

public class BlockJoinSelector extends Object
Select a value from a block of documents.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `BlockJoinSelector.Type`
  Type of selection to perform.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static BitSetIterator`
  `toIter(BitSet children)`
  creates an iterator for the given bitset
  `static NumericDocValues`
  `wrap(NumericDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children)`
  Wraps the provided `NumericDocValues`, iterating over only child documents, in order to only select one value per parent among its `children` using the configured `selection` type.
  `static NumericDocValues`
  `wrap(NumericDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, Long missingValue)`
  Wraps the provided `NumericDocValues`, iterating over only child documents, in order to only select one value per parent among its `children` using the configured `selection` type.
  `static SortedDocValues`
  `wrap(SortedDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, boolean sortMissingLast)`
  Wraps the provided `SortedDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.
  `static NumericDocValues`
  `wrap(SortedNumericDocValues sortedNumerics, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, Long childMissingValue)`
  Wraps the provided `SortedNumericDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.
  `static SortedDocValues`
  `wrap(SortedSetDocValues sortedSet, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, boolean sortMissingLast)`
  Wraps the provided `SortedSetDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.
  `static Bits`
  `wrap(Bits docsWithValue, BitSet parents, BitSet children)`
  Return a `Bits` instance that returns true if, and only if, any of the children of the given parent document has a value.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### wrap

    public static Bits wrap(Bits docsWithValue, BitSet parents, BitSet children)
    Return a `Bits` instance that returns true if, and only if, any of the children of the given parent document has a value.

  - ### wrap

    public static SortedDocValues wrap(SortedSetDocValues sortedSet, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, boolean sortMissingLast)
    Wraps the provided `SortedSetDocValues` in order to only select one value per parent among its `children` using the configured `selection` type. When a parent has children with missing values, we sort missing values according to `sortMissingLast`.

  - ### wrap

    public static SortedDocValues wrap(SortedDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, boolean sortMissingLast)
    Wraps the provided `SortedDocValues` in order to only select one value per parent among its `children` using the configured `selection` type. When a parent has children with missing values, we sort missing values according to `sortMissingLast`.

  - ### toIter

    protected static BitSetIterator toIter(BitSet children)
    creates an iterator for the given bitset

  - ### wrap

    public static NumericDocValues wrap(SortedNumericDocValues sortedNumerics, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, Long childMissingValue)
    Wraps the provided `SortedNumericDocValues` in order to only select one value per parent among its `children` using the configured `selection` type. When a parent has children with missing values, `childMissingValue` participates in the min/max selection.

  - ### wrap

    public static NumericDocValues wrap(NumericDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children)
    Wraps the provided `NumericDocValues`, iterating over only child documents, in order to only select one value per parent among its `children` using the configured `selection` type.

  - ### wrap

    public static NumericDocValues wrap(NumericDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children, Long missingValue)
    Wraps the provided `NumericDocValues`, iterating over only child documents, in order to only select one value per parent among its `children` using the configured `selection` type. When a parent has children with missing values, `missingValue` participates in the min/max selection.