Class Sort


  • public final class Sort
    extends java.lang.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:
    SortField
    • Constructor Summary

      Constructors 
      Constructor Description
      Sort()
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)
      Returns true if o is equal to this.
      SortField[] getSort()
      Representation of the sort criteria.
      int hashCode()
      Returns a hash code value for this object.
      boolean needsScores()
      Returns true if the relevance score is needed to sort documents.
      Sort rewrite​(IndexSearcher searcher)
      Rewrites the SortFields in this Sort, returning a new Sort if any of the fields changes during their rewriting.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

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

      • 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 Detail

      • 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 Detail

      • 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 java.io.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:
        java.io.IOException - Can be thrown by the rewriting
      • toString

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

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

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

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