org.apache.lucene.search

## Class FieldComparator.RelevanceComparator

- java.lang.Object
- - org.apache.lucene.search.FieldComparator
  - - org.apache.lucene.search.FieldComparator.RelevanceComparator

- Enclosing class:
    FieldComparator

      public static final class FieldComparator.RelevanceComparator
      extends FieldComparator

  Sorts by descending relevance. NOTE: if you are sorting only by descending relevance and then secondarily by ascending docID, performance is faster using `TopScoreDocCollector` directly (which `IndexSearcher.search(org.apache.lucene.search.Weight, org.apache.lucene.search.Filter, int)` uses when no `Sort` is specified).

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.search.FieldComparator

      `FieldComparator.ByteComparator, FieldComparator.DocComparator, FieldComparator.DoubleComparator, FieldComparator.FloatComparator, FieldComparator.IntComparator, FieldComparator.LongComparator, FieldComparator.RelevanceComparator, FieldComparator.ShortComparator, FieldComparator.StringComparatorLocale, FieldComparator.StringOrdValComparator, FieldComparator.StringValComparator`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(int slot1, int slot2)` Compare hit at slot1 with hit at slot2.
    `int` | `compareBottom(int doc)` Compare the bottom of the queue with doc.
    `void` | `copy(int slot, int doc)` This method is called when a new hit is competitive.
    `void` | `setBottom(int bottom)` Set the bottom slot, ie the "weakest" (sorted last) entry in the queue.
    `void` | `setNextReader(IndexReader reader, int docBase)` Set a new Reader.
    `void` | `setScorer(Scorer scorer)` Sets the Scorer to use in case a document's score is needed.
    `java.lang.Comparable` | `value(int slot)` Return the actual value in the slot.

    - ### Methods inherited from class org.apache.lucene.search.FieldComparator

      `binarySearch, binarySearch`

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

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

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

    - #### compareBottom

          public int compareBottom(int doc)
                            throws java.io.IOException

      Description copied from class: `FieldComparator`
      Compare the bottom of the queue with doc. This will only invoked after setBottom has been called. This should return the same result as `FieldComparator.compare(int,int)`} as if bottom were slot1 and the new document were slot 2.

      For a search that hits many results, this method will be the hotspot (invoked by far the most frequently).

      Specified by:
        `compareBottom` in class `FieldComparator`
      Parameters:
        `doc` - that was hit
      Returns:
        any N < 0 if the doc's value is sorted after the bottom entry (not competitive), any N > 0 if the doc's value is sorted before the bottom entry and 0 if they are equal.
      Throws:
        `java.io.IOException`

    - #### copy

          public void copy(int slot,
                           int doc)
                    throws java.io.IOException

      Description copied from class: `FieldComparator`
      This method is called when a new hit is competitive. You should copy any state associated with this document that will be required for future comparisons, into the specified slot.
      Specified by:
        `copy` in class `FieldComparator`
      Parameters:
        `slot` - which slot to copy the hit to
        `doc` - docID relative to current reader
      Throws:
        `java.io.IOException`

    - #### setNextReader

          public void setNextReader(IndexReader reader,
                                    int docBase)

      Description copied from class: `FieldComparator`
      Set a new Reader. All doc correspond to the current Reader.
      Specified by:
        `setNextReader` in class `FieldComparator`
      Parameters:
        `reader` - current reader
        `docBase` - docBase of this reader

    - #### setBottom

          public void setBottom(int bottom)

      Description copied from class: `FieldComparator`
      Set the bottom slot, ie the "weakest" (sorted last) entry in the queue. When `FieldComparator.compareBottom(int)` is called, you should compare against this slot. This will always be called before `FieldComparator.compareBottom(int)`.
      Specified by:
        `setBottom` in class `FieldComparator`
      Parameters:
        `bottom` - the currently weakest (sorted last) slot in the queue

    - #### setScorer

          public void setScorer(Scorer scorer)

      Description copied from class: `FieldComparator`
      Sets the Scorer to use in case a document's score is needed.
      Overrides:
        `setScorer` in class `FieldComparator`
      Parameters:
        `scorer` - Scorer instance that you should use to obtain the current hit's score, if necessary.

    - #### value

          public java.lang.Comparable value(int slot)

      Description copied from class: `FieldComparator`
      Return the actual value in the slot.
      Specified by:
        `value` in class `FieldComparator`
      Parameters:
        `slot` - the value
      Returns:
        value in this slot upgraded to Comparable

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