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.

  • Field Details

    • subs

      private final Bits[] subs
    • starts

      private final int[] starts
    • defaultValue

      private final boolean defaultValue
  • Constructor Details

    • MultiBits

      private MultiBits(Bits[] subs, int[] starts, boolean defaultValue)
  • 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.

    • checkLength

      private boolean checkLength(int reader, int doc)
    • 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