Class FieldComparator<T>

    • Constructor Detail

      • FieldComparator

        public FieldComparator()
    • Method Detail

      • compare

        public abstract int compare​(int slot1,
                                    int slot2)
        Compare hit at slot1 with hit at slot2.
        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
      • value

        public abstract T value​(int slot)
        Return the actual value in the slot.
        Parameters:
        slot - the value
        Returns:
        value in this slot
      • compareValues

        public int compareValues​(T first,
                                 T second)
        Returns a negative integer if first is less than second, 0 if they are equal and a positive integer otherwise. Default impl to assume the type implements Comparable and invoke .compareTo; be sure to override this method if your FieldComparator's type isn't a Comparable or if your values may sometimes be null
      • setSingleSort

        public void setSingleSort()
        Informs the comparator that sort is done on this single field. This is useful to enable some optimizations for skipping non-competitive documents.
      • disableSkipping

        public void disableSkipping()
        Informs the comparator that the skipping of documents should be disabled. This function is called by TopFieldCollector in cases when the skipping functionality should not be applied or not necessary. An example could be when search sort is a part of the index sort, and can be already efficiently handled by TopFieldCollector, and doing extra work for skipping in the comparator is redundant.