Package org.apache.lucene.index

## Class IndexSorter.DoubleSorter

- java.lang.Object
- - org.apache.lucene.index.IndexSorter.DoubleSorter

- All Implemented Interfaces:
    `IndexSorter`
  Enclosing interface:
    IndexSorter

      public static final class IndexSorter.DoubleSorter
      extends Object
      implements IndexSorter

  Sorts documents based on double values from a NumericDocValues instance

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.lucene.index.IndexSorter

      `IndexSorter.ComparableProvider, IndexSorter.DocComparator, IndexSorter.DoubleSorter, IndexSorter.FloatSorter, IndexSorter.IntSorter, IndexSorter.LongSorter, IndexSorter.NumericDocValuesProvider, IndexSorter.SortedDocValuesProvider, IndexSorter.StringSorter`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DoubleSorter​(String providerName, Double missingValue, boolean reverse, IndexSorter.NumericDocValuesProvider valuesProvider)` | Creates a new DoubleSorter

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexSorter.ComparableProvider[]` | `getComparableProviders​(List<? extends LeafReader> readers)` | Get an array of `IndexSorter.ComparableProvider`, one per segment, for merge sorting documents in different segments
    `IndexSorter.DocComparator` | `getDocComparator​(LeafReader reader, int maxDoc)` | Get a comparator that determines the sort order of docs within a single Reader.
    `String` | `getProviderName()` | The SPI-registered name of a `SortFieldProvider` that will deserialize the parent SortField

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

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

- - ### Constructor Detail

    - #### DoubleSorter

          public DoubleSorter​(String providerName,
                              Double missingValue,
                              boolean reverse,
                              IndexSorter.NumericDocValuesProvider valuesProvider)

      Creates a new DoubleSorter

  - ### Method Detail

    - #### getComparableProviders

          public IndexSorter.ComparableProvider[] getComparableProviders​(List<? extends LeafReader> readers)
                                                                  throws IOException

      Description copied from interface: `IndexSorter`
      Get an array of `IndexSorter.ComparableProvider`, one per segment, for merge sorting documents in different segments
      Specified by:
        `getComparableProviders` in interface `IndexSorter`
      Parameters:
        `readers` - the readers to be merged
      Throws:
        `IOException`

    - #### getDocComparator

          public IndexSorter.DocComparator getDocComparator​(LeafReader reader,
                                                            int maxDoc)
                                                     throws IOException

      Description copied from interface: `IndexSorter`
      Get a comparator that determines the sort order of docs within a single Reader.

      NB We cannot simply use the `FieldComparator` API because it requires docIDs to be sent in-order. The default implementations allocate array[maxDoc] to hold native values for comparison, but 1) they are transient (only alive while sorting this one segment) and 2) in the typical index sorting case, they are only used to sort newly flushed segments, which will be smaller than merged segments

      Specified by:
        `getDocComparator` in interface `IndexSorter`
      Parameters:
        `reader` - the Reader to sort
        `maxDoc` - the number of documents in the Reader
      Throws:
        `IOException`

    - #### getProviderName

          public String getProviderName()

      Description copied from interface: `IndexSorter`
      The SPI-registered name of a `SortFieldProvider` that will deserialize the parent SortField
      Specified by:
        `getProviderName` in interface `IndexSorter`