IntComparator (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.search.comparators, class: IntComparator

Package org.apache.lucene.search.comparators

# Class IntComparator

java.lang.Object
org.apache.lucene.search.FieldComparator<Integer>
org.apache.lucene.search.comparators.NumericComparator<Integer>
org.apache.lucene.search.comparators.IntComparator

public class IntComparator extends NumericComparator<Integer>
Comparator based on `Integer.compare(int, int)` 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`
  `IntComparator.IntLeafComparator`
  Leaf comparator for `IntComparator` that provides skipping functionality

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

  `NumericComparator.CompetitiveDISIBuilder, 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 int`
  `bottom`
  `protected int`
  `topValue`

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

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `IntComparator(int numHits, String field, Integer missingValue, boolean reverse, Pruning pruning)`

- ## Method Summary

  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`.
  `protected long`
  `missingValueAsComparableLong()`
  `void`
  `setTopValue(Integer value)`
  Record the top value, for future calls to `LeafFieldComparator.compareTop(int)`.
  `protected long`
  `sortableBytesToLong(byte[] bytes)`
  Decode sortable bytes to long.
  `Integer`
  `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 Details

  - ### topValue

    protected int topValue

  - ### bottom

    protected int bottom

- ## Constructor Details

  - ### IntComparator

    public IntComparator(int numHits, String field, Integer missingValue, boolean reverse, Pruning pruning)

- ## Method Details

  - ### 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<Integer>`
    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(Integer 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<Integer>`

  - ### value

    public Integer value(int slot)
    Description copied from class: `FieldComparator`
    Return the actual value in the slot.
    Specified by:
      `value` in class `FieldComparator<Integer>`
    Parameters:
      `slot` - the value
    Returns:
      value in this slot

  - ### missingValueAsComparableLong

    protected long missingValueAsComparableLong()
    Specified by:
      `missingValueAsComparableLong` in class `NumericComparator<Integer>`

  - ### sortableBytesToLong

    protected long sortableBytesToLong(byte[] bytes)
    Description copied from class: `NumericComparator`
    Decode sortable bytes to long. It should be consistent with the codec that `PointValues` of this field is using.
    Specified by:
      `sortableBytesToLong` in class `NumericComparator<Integer>`

  - ### 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<Integer>`
    Parameters:
      `context` - current reader context
    Returns:
      the comparator to use for this segment
    Throws:
      `IOException` - if there is a low-level IO error