Package org.apache.lucene.search.comparators

## Class LongComparator

- java.lang.Object
- - org.apache.lucene.search.FieldComparator<T>
  - - org.apache.lucene.search.comparators.NumericComparator<Long>
    - - org.apache.lucene.search.comparators.LongComparator

-     public class LongComparator
      extends NumericComparator<Long>

  Comparator based on `Long.compare(long, long)` 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 | Description
    --- | --- | ---
    `class` | `LongComparator.LongLeafComparator` | Leaf comparator for `LongComparator` 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.TermValComparator`

  - ### Field Summary

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

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

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

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LongComparator​(int numHits, String field, Long missingValue, boolean reverse, Pruning pruning)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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​(Long value)` | Record the top value, for future calls to `LeafFieldComparator.compareTop(int)`.
    `Long` | `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 long topValue

    - #### bottom

          protected long bottom

  - ### Constructor Detail

    - #### LongComparator

          public LongComparator​(int numHits,
                                String field,
                                Long missingValue,
                                boolean reverse,
                                Pruning pruning)

  - ### 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<Long>`
      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​(Long 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<Long>`

    - #### value

          public Long value​(int slot)

      Description copied from class: `FieldComparator`
      Return the actual value in the slot.
      Specified by:
        `value` in class `FieldComparator<Long>`
      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<Long>`
      Parameters:
        `context` - current reader context
      Returns:
        the comparator to use for this segment
      Throws:
        `IOException` - if there is a low-level IO error