Class FieldValueHitQueue<T extends FieldValueHitQueue.Entry>

java.lang.Object
org.apache.lucene.util.PriorityQueue<T>
org.apache.lucene.search.FieldValueHitQueue<T>

public abstract class FieldValueHitQueue<T extends FieldValueHitQueue.Entry> extends PriorityQueue<T>
Expert: A hit queue for sorting by hits by terms in more than one field. Uses FieldCache.DEFAULT for maintaining internal term lookup tables.
Since:
2.9
See Also:
  • Field Details

    • fields

      protected final SortField[] fields
      Stores the sort criteria being used.
    • comparators

      protected final FieldComparator<?>[] comparators
    • firstComparator

      protected FieldComparator<?> firstComparator
    • reverseMul

      protected final int[] reverseMul
  • Method Details

    • create

      public static <T extends FieldValueHitQueue.Entry> FieldValueHitQueue<T> create(SortField[] fields, int size) throws IOException
      Creates a hit queue sorted by the given list of fields.

      NOTE: The instances returned by this method pre-allocate a full array of length numHits.

      Parameters:
      fields - SortField array we are sorting by in priority order (highest priority first); cannot be null or empty
      size - The number of hits to retain. Must be greater than zero.
      Throws:
      IOException - if there is a low-level IO error
    • getComparators

      public FieldComparator<?>[] getComparators()
    • getReverseMul

      public int[] getReverseMul()
    • setComparator

      public void setComparator(int pos, FieldComparator<?> comparator)
    • lessThan

      protected abstract boolean lessThan(FieldValueHitQueue.Entry a, FieldValueHitQueue.Entry b)
      Description copied from class: PriorityQueue
      Determines the ordering of objects in this priority queue. Subclasses must define this one method.
      Specified by:
      lessThan in class PriorityQueue<T extends FieldValueHitQueue.Entry>
      Returns:
      true iff parameter a is less than parameter b.