MultiDoubleValues (Lucene 10.5.0 facet API)
Description: declaration: package: org.apache.lucene.facet, class: MultiDoubleValues

Package org.apache.lucene.facet

# Class MultiDoubleValues

java.lang.Object
org.apache.lucene.facet.MultiDoubleValues

public abstract class MultiDoubleValues extends Object
Per-segment, per-document double values, which can be calculated at search-time. Documents may produce multiple values. See also `DoubleValues` for a single-valued version.

Currently meant only for use within the faceting module. Could be further generalized and made available for more use-cases outside faceting if there is a desire to do so.

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MultiDoubleValues()`
  Instantiates a new MultiDoubleValues

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `advanceExact(int doc)`
  Advance to exactly `doc` and return whether `doc` has a value.
  `abstract long`
  `getValueCount()`
  Retrieves the number of values for the current document.
  `abstract double`
  `nextValue()`
  Iterates to the next value in the current document.

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

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

- ## Constructor Details

  - ### MultiDoubleValues

    public MultiDoubleValues()
    Instantiates a new MultiDoubleValues

- ## Method Details

  - ### getValueCount

    public abstract long getValueCount()
    Retrieves the number of values for the current document. This must always be greater than zero. It is illegal to call this method after `advanceExact(int)` returned `false`.

  - ### nextValue

    public abstract double nextValue() throws IOException
    Iterates to the next value in the current document. Do not call this more than `getValueCount()` times for the document.
    Throws:
      `IOException`

  - ### advanceExact

    public abstract boolean advanceExact(int doc) throws IOException
    Advance to exactly `doc` and return whether `doc` has a value.
    Throws:
      `IOException`