org.apache.lucene.search

## Class FieldValueHitQueue

- java.lang.Object
- - org.apache.lucene.util.PriorityQueue
  - - org.apache.lucene.search.FieldValueHitQueue

-     public abstract class FieldValueHitQueue
      extends PriorityQueue

  Expert: A hit queue for sorting by hits by terms in more than one field. Uses `FieldCache.DEFAULT` for maintaining internal term lookup tables. This class will not resolve SortField.AUTO types, and expects the type of all SortFields used for construction to already have been resolved. `SortField.detectFieldType(IndexReader, String)` is a utility method which may be used for field type detection. NOTE: This API is experimental and might change in incompatible ways in the next release.
  Since:
    2.9
  Version:
    $Id:
  See Also:
    `Searcher.search(Query,Filter,int,Sort)`, `FieldCache`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FieldComparator[]` | `comparators`
    `protected SortField[]` | `fields` Stores the sort criteria being used.
    `protected int[]` | `reverseMul`

    - ### Fields inherited from class org.apache.lucene.util.PriorityQueue

      `heap`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static FieldValueHitQueue` | `create(SortField[] fields, int size)` Creates a hit queue sorted by the given list of fields.
    `protected abstract boolean` | `lessThan(java.lang.Object a, java.lang.Object b)` Determines the ordering of objects in this priority queue.

    - ### Methods inherited from class org.apache.lucene.util.PriorityQueue

      `add, adjustTop, clear, getSentinelObject, initialize, insert, insertWithOverflow, pop, put, size, top, updateTop`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### fields

          protected final SortField[] fields

      Stores the sort criteria being used.

    - #### comparators

          protected final FieldComparator[] comparators

    - #### reverseMul

          protected final int[] reverseMul

  - ### Method Detail

    - #### create

          public static FieldValueHitQueue create(SortField[] fields,
                                                  int size)
                                           throws java.io.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:
        `java.io.IOException`

    - #### lessThan

          protected abstract boolean lessThan(java.lang.Object a,
                                              java.lang.Object 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`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.