org.apache.lucene.index

## Class MultiDocValues

- java.lang.Object
- - org.apache.lucene.index.MultiDocValues

    public class MultiDocValues
    extends Object

A wrapper for CompositeIndexReader providing access to DocValues.

NOTE: for multi readers, you'll get better performance by gathering the sub readers using `IndexReader.getContext()` to get the atomic leaves and then operate per-AtomicReader, instead of using this class.

NOTE: This is very costly.

WARNING: This API is experimental and might change in incompatible ways in the next release.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Nested Class Summary

Nested Classes
`static class` `MultiDocValues.MultiSortedDocValues` Implements SortedDocValues over n subs, using an OrdinalMap
`static class` `MultiDocValues.MultiSortedSetDocValues` Implements MultiSortedSetDocValues over n subs, using an OrdinalMap
`static class` `MultiDocValues.OrdinalMap` maps per-segment ordinals to/from global ordinal space

### Method Summary

Methods
`static BinaryDocValues` `getBinaryValues(IndexReader r, String field)` Returns a BinaryDocValues for a reader's docvalues (potentially merging on-the-fly)
`static NumericDocValues` `getNormValues(IndexReader r, String field)` Returns a NumericDocValues for a reader's norms (potentially merging on-the-fly).
`static NumericDocValues` `getNumericValues(IndexReader r, String field)` Returns a NumericDocValues for a reader's docvalues (potentially merging on-the-fly)
`static SortedSetDocValues` `getSortedSetValues(IndexReader r, String field)` Returns a SortedSetDocValues for a reader's docvalues (potentially doing extremely slow things).
`static SortedDocValues` `getSortedValues(IndexReader r, String field)` Returns a SortedDocValues for a reader's docvalues (potentially doing extremely slow things).

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

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

### Method Detail

#### getNormValues

    public static NumericDocValues getNormValues(IndexReader r,
                                 String field)
                                          throws IOException

Returns a NumericDocValues for a reader's norms (potentially merging on-the-fly).

This is a slow way to access normalization values. Instead, access them per-segment with `AtomicReader.getNormValues(String)`

Throws:
  `IOException`

#### getNumericValues

    public static NumericDocValues getNumericValues(IndexReader r,
                                    String field)
                                             throws IOException

Returns a NumericDocValues for a reader's docvalues (potentially merging on-the-fly)

This is a slow way to access numeric values. Instead, access them per-segment with `AtomicReader.getNumericDocValues(String)`

Throws:
  `IOException`

#### getBinaryValues

    public static BinaryDocValues getBinaryValues(IndexReader r,
                                  String field)
                                           throws IOException

Returns a BinaryDocValues for a reader's docvalues (potentially merging on-the-fly)

This is a slow way to access binary values. Instead, access them per-segment with `AtomicReader.getBinaryDocValues(String)`

Throws:
  `IOException`

#### getSortedValues

    public static SortedDocValues getSortedValues(IndexReader r,
                                  String field)
                                           throws IOException

Returns a SortedDocValues for a reader's docvalues (potentially doing extremely slow things).

This is an extremely slow way to access sorted values. Instead, access them per-segment with `AtomicReader.getSortedDocValues(String)`

Throws:
  `IOException`

#### getSortedSetValues

    public static SortedSetDocValues getSortedSetValues(IndexReader r,
                                        String field)
                                                 throws IOException

Returns a SortedSetDocValues for a reader's docvalues (potentially doing extremely slow things).

This is an extremely slow way to access sorted values. Instead, access them per-segment with `AtomicReader.getSortedSetDocValues(String)`

Throws:
  `IOException`