Class Sort

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

public final class Sort extends Object
Encapsulates sort criteria for returned hits.

A Sort can be created with an empty constructor, yielding an object that will instruct searches to return their hits sorted by relevance; or it can be created with one or more SortFields.

Since:
lucene 1.4
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Sort
    Represents sorting by index order.
    static final Sort
    Represents sorting by computed relevance.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Sorts by computed relevance.
    Sort(SortField... fields)
    Sets the sort to the given criteria in succession: the first SortField is checked first, but if it produces a tie, then the second SortField is used to break the tie, etc.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if o is equal to this.
    Representation of the sort criteria.
    int
    Returns a hash code value for this object.
    boolean
    Returns true if the relevance score is needed to sort documents.
    Rewrites the SortFields in this Sort, returning a new Sort if any of the fields changes during their rewriting.
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • RELEVANCE

      public static final Sort RELEVANCE
      Represents sorting by computed relevance. Using this sort criteria returns the same results as calling IndexSearcher#search()without a sort criteria, only with slightly more overhead.
    • INDEXORDER

      public static final Sort INDEXORDER
      Represents sorting by index order.
  • Constructor Details

    • Sort

      public Sort()
      Sorts by computed relevance. This is the same sort criteria as calling IndexSearcher#search()without a sort criteria, only with slightly more overhead.
    • Sort

      public Sort(SortField... fields)
      Sets the sort to the given criteria in succession: the first SortField is checked first, but if it produces a tie, then the second SortField is used to break the tie, etc. Finally, if there is still a tie after all SortFields are checked, the internal Lucene docid is used to break it.
  • Method Details

    • getSort

      public SortField[] getSort()
      Representation of the sort criteria.
      Returns:
      Array of SortField objects used in this sort criteria
    • rewrite

      public Sort rewrite(IndexSearcher searcher) throws IOException
      Rewrites the SortFields in this Sort, returning a new Sort if any of the fields changes during their rewriting.
      Parameters:
      searcher - IndexSearcher to use in the rewriting
      Returns:
      this if the Sort/Fields have not changed, or a new Sort if there is a change
      Throws:
      IOException - Can be thrown by the rewriting
      WARNING: This API is experimental and might change in incompatible ways in the next release.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Returns true if o is equal to this.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Returns a hash code value for this object.
      Overrides:
      hashCode in class Object
    • needsScores

      public boolean needsScores()
      Returns true if the relevance score is needed to sort documents.