org.apache.lucene.search.comparators

## Class DoubleComparator

- java.lang.Object
- - org.apache.lucene.search.FieldComparator<T>
  - - org.apache.lucene.search.comparators.NumericComparator<Double>
    - - org.apache.lucene.search.comparators.DoubleComparator

-     public class DoubleComparator
      extends NumericComparator<Double>

  Comparator based on `Double.compare(double, double)` for `numHits`. This comparator provides a skipping functionality – an iterator that can skip over non-competitive documents.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DoubleComparator.DoubleLeafComparator` Leaf comparator for `DoubleComparator` that provides skipping functionality

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.comparators.NumericComparator

      `NumericComparator.NumericLeafComparator`

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.FieldComparator

      `FieldComparator.RelevanceComparator, FieldComparator.TermOrdValComparator, FieldComparator.TermValComparator`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double` | `bottom`
    `protected double` | `topValue`

    - ### Fields inherited from class org.apache.lucene.search.comparators.NumericComparator

      `field, hitsThresholdReached, missingValue, queueFull, reverse, singleSort, topValueSet`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DoubleComparator(int numHits, String field, Double missingValue, boolean reverse, int sortPos)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(int slot1, int slot2)` Compare hit at slot1 with hit at slot2.
    `LeafFieldComparator` | `getLeafComparator(LeafReaderContext context)` Get a per-segment `LeafFieldComparator` to collect the given `LeafReaderContext`.
    `void` | `setTopValue(Double value)` Record the top value, for future calls to `LeafFieldComparator.compareTop(int)`.
    `Double` | `value(int slot)` Return the actual value in the slot.

    - ### Methods inherited from class org.apache.lucene.search.comparators.NumericComparator

      `disableSkipping, setSingleSort`

    - ### Methods inherited from class org.apache.lucene.search.FieldComparator

      `compareValues`

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

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

- - ### Field Detail

    - #### topValue

          protected double topValue

    - #### bottom

          protected double bottom

  - ### Constructor Detail

    - #### DoubleComparator

          public DoubleComparator(int numHits,
                                  String field,
                                  Double missingValue,
                                  boolean reverse,
                                  int sortPos)

  - ### Method Detail

    - #### compare

          public int compare(int slot1,
                             int slot2)

      Description copied from class: `FieldComparator`
      Compare hit at slot1 with hit at slot2.
      Specified by:
        `compare` in class `FieldComparator<Double>`
      Parameters:
        `slot1` - first slot to compare
        `slot2` - second slot to compare
      Returns:
        any `N < 0` if slot2's value is sorted after slot1, any `N > 0` if the slot2's value is sorted before slot1 and `0` if they are equal

    - #### setTopValue

          public void setTopValue(Double value)

      Description copied from class: `FieldComparator`
      Record the top value, for future calls to `LeafFieldComparator.compareTop(int)`. This is only called for searches that use searchAfter (deep paging), and is called before any calls to `FieldComparator.getLeafComparator(LeafReaderContext)`.
      Overrides:
        `setTopValue` in class `NumericComparator<Double>`

    - #### value

          public Double value(int slot)

      Description copied from class: `FieldComparator`
      Return the actual value in the slot.
      Specified by:
        `value` in class `FieldComparator<Double>`
      Parameters:
        `slot` - the value
      Returns:
        value in this slot

    - #### getLeafComparator

          public LeafFieldComparator getLeafComparator(LeafReaderContext context)
                                                throws IOException

      Description copied from class: `FieldComparator`
      Get a per-segment `LeafFieldComparator` to collect the given `LeafReaderContext`. All docIDs supplied to this `LeafFieldComparator` are relative to the current reader (you must add docBase if you need to map it to a top-level docID).
      Specified by:
        `getLeafComparator` in class `FieldComparator<Double>`
      Parameters:
        `context` - current reader context
      Returns:
        the comparator to use for this segment
      Throws:
        `IOException` - if there is a low-level IO error

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.