## org.apache.lucene.search
Class SortComparator

    java.lang.Object
      org.apache.lucene.search.SortComparator

All Implemented Interfaces:
  java.io.Serializable, SortComparatorSource

Deprecated. Please use `FieldComparatorSource` instead.

    public abstract class SortComparator

extends java.lang.Object
implements SortComparatorSource

Abstract base class for sorting hits returned by a Query.

This class should only be used if the other SortField types (SCORE, DOC, STRING, INT, FLOAT) do not provide an adequate sorting. It maintains an internal cache of values which could be quite large. The cache is an array of Comparable, one for each document in the index. There is a distinct Comparable for each unique term in the field - if some documents have the same term in the field, the cache array will have entries which reference the same Comparable. This class will be used as part of a key to a FieldCache value. You must implement hashCode and equals to avoid an explosion in RAM usage if you use instances that are not the same instance. If you are searching using the Remote contrib, the same instance of this class on the client will be a new instance on every call to the server, so hashCode/equals is very important in that situation.

Created: Apr 21, 2004 5:08:38 PM

Since:
  1.4
Version:
  $Id: SortComparator.java 800119 2009-08-02 17:59:21Z markrmiller $
See Also:
  Serialized Form

Constructor Summary
`SortComparator()` Deprecated.

Method Summary
`protected abstract java.lang.Comparable` `getComparable(java.lang.String termtext)` Deprecated. Returns an object which, when sorted according to natural order, will order the Term values in the correct order.
`ScoreDocComparator` `newComparator(IndexReader reader, java.lang.String fieldname)` Deprecated. Creates a comparator for the field in the given index.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SortComparator

    public SortComparator()

  Deprecated.

Method Detail

### newComparator

    public ScoreDocComparator newComparator(IndexReader reader,
                                            java.lang.String fieldname)
                                     throws java.io.IOException

  Deprecated.
  Description copied from interface: `SortComparatorSource`
  Creates a comparator for the field in the given index.

  Specified by:
    `newComparator` in interface `SortComparatorSource`
  Parameters:
    `reader` - Index to create comparator for.
    `fieldname` - Name of the field to create comparator for.
  Returns:
    Comparator of ScoreDoc objects.
  Throws:
    `java.io.IOException` - If an error occurs reading the index.

### getComparable

    protected abstract java.lang.Comparable getComparable(java.lang.String termtext)

  Deprecated.
  Returns an object which, when sorted according to natural order, will order the Term values in the correct order.

  For example, if the Terms contained integer values, this method would return `new Integer(termtext)`. Note that this might not always be the most efficient implementation - for this particular example, a better implementation might be to make a ScoreDocLookupComparator that uses an internal lookup table of int.

  Parameters:
    `termtext` - The textual value of the term.
  Returns:
    An object representing `termtext` that sorts according to the natural order of `termtext`.
  See Also:
    `Comparable`, `ScoreDocComparator`

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