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
`static class` `BlockJoinSelector.Type` Type of selection to perform.

### Method Summary

All Methods Static Methods Concrete Methods Deprecated Methods
`protected static BitSetIterator` `toIter(BitSet children)` creates an iterator for the given bitset
`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.
`static NumericDocValues` `wrap(NumericDocValues values, BlockJoinSelector.Type selection, BitSet parents, BitSet children)` Deprecated.
`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 SortedDocValues` `wrap(SortedDocValues values, BlockJoinSelector.Type selection, BitSet parents, BitSet children)` Deprecated.
`static SortedDocValues` `wrap(SortedDocValues values, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children)` 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, BitSet children)` Deprecated.
`static NumericDocValues` `wrap(SortedNumericDocValues sortedNumerics, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children)` 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, BitSet children)` Deprecated.
`static SortedDocValues` `wrap(SortedSetDocValues sortedSet, BlockJoinSelector.Type selection, BitSet parents, DocIdSetIterator children)` Wraps the provided `SortedSetDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

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

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

### Method Detail

#### 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

    @Deprecated
    public static SortedDocValues wrap(SortedSetDocValues sortedSet,
                                                   BlockJoinSelector.Type selection,
                                                   BitSet parents,
                                                   BitSet children)

Deprecated.
Wraps the provided `SortedSetDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### wrap

    public static SortedDocValues wrap(SortedSetDocValues sortedSet,
                                       BlockJoinSelector.Type selection,
                                       BitSet parents,
                                       DocIdSetIterator children)

Wraps the provided `SortedSetDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### wrap

    @Deprecated
    public static SortedDocValues wrap(SortedDocValues values,
                                                   BlockJoinSelector.Type selection,
                                                   BitSet parents,
                                                   BitSet children)

Deprecated.
Wraps the provided `SortedDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### wrap

    public static SortedDocValues wrap(SortedDocValues values,
                                       BlockJoinSelector.Type selection,
                                       BitSet parents,
                                       DocIdSetIterator children)

Wraps the provided `SortedDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### wrap

    @Deprecated
    public static NumericDocValues wrap(SortedNumericDocValues sortedNumerics,
                                                    BlockJoinSelector.Type selection,
                                                    BitSet parents,
                                                    BitSet children)

Deprecated.
Wraps the provided `SortedNumericDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### 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)

Wraps the provided `SortedNumericDocValues` in order to only select one value per parent among its `children` using the configured `selection` type.

#### wrap

    @Deprecated
    public static NumericDocValues wrap(NumericDocValues values,
                                                    BlockJoinSelector.Type selection,
                                                    BitSet parents,
                                                    BitSet children)

Deprecated.
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)

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.