MultiBits (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, class: MultiBits

Package org.apache.lucene.index

# Class MultiBits

java.lang.Object
org.apache.lucene.index.MultiBits

All Implemented Interfaces:
  `Bits`

public final class MultiBits extends Object implements Bits
Concatenates multiple Bits together, on every lookup.

NOTE: This is very costly, as every lookup must do a binary search to locate the right sub-reader.

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.lucene.util.Bits

  `Bits.MatchAllBits, Bits.MatchNoBits`

- ## Field Summary

  ### Fields inherited from interface org.apache.lucene.util.Bits

  `EMPTY_ARRAY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `get(int doc)`
  Returns the value of the bit with the specified `index`.
  `static Bits`
  `getLiveDocs(IndexReader reader)`
  Returns a single `Bits` instance for this reader, merging live Documents on the fly.
  `int`
  `length()`
  Returns the number of bits in this set
  `String`
  `toString()`

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

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

  ### Methods inherited from interface org.apache.lucene.util.Bits

  `applyMask`

- ## Method Details

  - ### getLiveDocs

    public static Bits getLiveDocs(IndexReader reader)
    Returns a single `Bits` instance for this reader, merging live Documents on the fly. This method will return null if the reader has no deletions.

    NOTE: this is a very slow way to access live docs. For example, each Bits access will require a binary search. It's better to get the sub-readers and iterate through them yourself.

  - ### get

    public boolean get(int doc)
    Description copied from interface: `Bits`
    Returns the value of the bit with the specified `index`.
    Specified by:
      `get` in interface `Bits`
    Parameters:
      `doc` - index, should be non-negative and < `Bits.length()`. The result of passing negative or out of bounds values is undefined by this interface, just don't do it!
    Returns:
      `true` if the bit is set, `false` otherwise.

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`

  - ### length

    public int length()
    Description copied from interface: `Bits`
    Returns the number of bits in this set
    Specified by:
      `length` in interface `Bits`