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`