## org.apache.lucene.search
Class FieldComparator.RelevanceComparator

    java.lang.Object
      org.apache.lucene.search.FieldComparator<Float>
          org.apache.lucene.search.FieldComparator.RelevanceComparator

Enclosing class:
  FieldComparator<T>

    public static final class FieldComparator.RelevanceComparator

extends FieldComparator<Float>

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.Query, 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.NumericComparator<T extends Number>, FieldComparator.RelevanceComparator, FieldComparator.ShortComparator, FieldComparator.TermOrdValComparator, FieldComparator.TermValComparator`

Method Summary
`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.
`int` `compareDocToValue(int doc, Float valueObj)` Returns negative result if the doc's value is less than the provided value.
`int` `compareValues(Float first, Float second)` Returns -1 if first is less than second.
`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.
`FieldComparator<Float>` `setNextReader(AtomicReaderContext context)` Set a new `AtomicReaderContext`.
`void` `setScorer(Scorer scorer)` Sets the Scorer to use in case a document's score is needed.
`Float` `value(int slot)` Return the actual value in the slot.

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<Float>`
  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 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<Float>`
  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:
    `IOException`

### copy

    public void copy(int slot,
                     int doc)
              throws 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<Float>`
  Parameters:
    `slot` - which slot to copy the hit to
    `doc` - docID relative to current reader
  Throws:
    `IOException`

### setNextReader

    public FieldComparator<Float> setNextReader(AtomicReaderContext context)

  Description copied from class: `FieldComparator`
  Set a new `AtomicReaderContext`. All subsequent docIDs are relative to the current reader (you must add docBase if you need to map it to a top-level docID).

  Specified by:
    `setNextReader` in class `FieldComparator<Float>`
  Parameters:
    `context` - current reader context
  Returns:
    the comparator to use for this segment; most comparators can just return "this" to reuse the same comparator across segments

### 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<Float>`
  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<Float>`
  Parameters:
    `scorer` - Scorer instance that you should use to obtain the current hit's score, if necessary.

### value

    public Float value(int slot)

  Description copied from class: `FieldComparator`
  Return the actual value in the slot.

  Specified by:
    `value` in class `FieldComparator<Float>`
  Parameters:
    `slot` - the value
  Returns:
    value in this slot

### compareValues

    public int compareValues(Float first,
                             Float second)

  Description copied from class: `FieldComparator`
  Returns -1 if first is less than second. 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

  Overrides:
    `compareValues` in class `FieldComparator<Float>`

### compareDocToValue

    public int compareDocToValue(int doc,
                                 Float valueObj)
                          throws IOException

  Description copied from class: `FieldComparator`
  Returns negative result if the doc's value is less than the provided value.

  Specified by:
    `compareDocToValue` in class `FieldComparator<Float>`
  Throws:
    `IOException`

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