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
`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.TermOrdValComparator, FieldComparator.TermValComparator`

### Field Summary

Fields
`protected long` `bottom`
`protected long` `topValue`

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

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

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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,
                          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<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