Class DocValuesFieldUpdates

java.lang.Object
org.apache.lucene.index.DocValuesFieldUpdates
All Implemented Interfaces:
Accountable
Direct Known Subclasses:
BinaryDocValuesFieldUpdates, DocValuesFieldUpdates.SingleValueDocValuesFieldUpdates, NumericDocValuesFieldUpdates

abstract class DocValuesFieldUpdates extends Object implements Accountable
Holds updates of a single DocValues field, for a set of documents within one segment.
  • Field Details

    • PAGE_SIZE

      protected static final int PAGE_SIZE
      See Also:
    • HAS_VALUE_MASK

      private static final long HAS_VALUE_MASK
      See Also:
    • HAS_NO_VALUE_MASK

      private static final long HAS_NO_VALUE_MASK
      See Also:
    • SHIFT

      private static final int SHIFT
      See Also:
    • field

      final String field
    • type

      final DocValuesType type
    • delGen

      final long delGen
    • bitsPerValue

      private final int bitsPerValue
    • finished

      private boolean finished
    • maxDoc

      protected final int maxDoc
    • docs

      protected PagedMutable docs
    • size

      protected int size
  • Constructor Details

    • DocValuesFieldUpdates

      protected DocValuesFieldUpdates(int maxDoc, long delGen, String field, DocValuesType type)
  • Method Details

    • mergedIterator

      public static DocValuesFieldUpdates.Iterator mergedIterator(DocValuesFieldUpdates.Iterator[] subs)
      Merge-sorts multiple iterators, one per delGen, favoring the largest delGen that has updates for a given docID.
    • getFinished

      final boolean getFinished()
    • add

      abstract void add(int doc, long value)
    • add

      abstract void add(int doc, BytesRef value)
    • add

      abstract void add(int docId, DocValuesFieldUpdates.Iterator iterator)
      Adds the value for the given docID. This method prevents conditional calls to DocValuesFieldUpdates.Iterator.longValue() or DocValuesFieldUpdates.Iterator.binaryValue() since the implementation knows if it's a long value iterator or binary value
    • iterator

      abstract DocValuesFieldUpdates.Iterator iterator()
      Returns an DocValuesFieldUpdates.Iterator over the updated documents and their values.
    • finish

      final void finish()
      Freezes internal data structures and sorts updates by docID for efficient iteration.
    • any

      boolean any()
      Returns true if this instance contains any updates.
    • size

      final int size()
    • reset

      void reset(int doc)
      Adds an update that resets the documents value.
      Parameters:
      doc - the doc to update
    • add

      final int add(int doc)
    • addInternal

      private int addInternal(int doc, long hasValueMask)
    • swap

      protected void swap(int i, int j)
    • grow

      protected void grow(int size)
    • resize

      protected void resize(int size)
    • ensureFinished

      protected final void ensureFinished()
    • ramBytesUsed

      public long ramBytesUsed()
      Description copied from interface: Accountable
      Return the memory usage of this object in bytes. Negative values are illegal.
      Specified by:
      ramBytesUsed in interface Accountable