Class SortExpression

java.lang.Object
com.google.appengine.api.search.SortExpression

public final class SortExpression extends Object
Sorting specification for a single dimension. Multi-dimensional sorting is supported by a collection of SortExpressions.
  • Field Details

    • DOCUMENT_ID_FIELD_NAME

      public static final String DOCUMENT_ID_FIELD_NAME
      The expression to be used if you wish to sort by document id field Document.getId(). You need to create a sort expression as
      
       SortExpression expr = SortExpression.newBuilder()
           .setExpression(SortExpression.DOCUMENT_ID_FIELD_NAME)
           .setDefaultValue("")
           .build();
       
      See Also:
    • LANGUAGE_FIELD_NAME

      public static final String LANGUAGE_FIELD_NAME
      The expression to be used if you wish to sort by language code associated with the locale field Document.getLocale(). You need to create a sort expression as
      
       SortExpression expr = SortExpression.newBuilder()
           .setExpression(SortExpression.LANGUAGE_FIELD_NAME)
           .setDefaultValue("")
           .build();
       
      See Also:
    • RANK_FIELD_NAME

      public static final String RANK_FIELD_NAME
      The expression to be used if you wish to sort by rank field. By default, results are sorted in descending value of rank. To sort in ascending order, you need to create a sort expression as
      
       SortExpression expr = SortExpression.newBuilder()
           .setExpression(SortExpression.RANK_FIELD_NAME)
           .setDirection(SortExpression.SortDirection.ASCENDING)
           .setDefaultValueNumeric(0)
           .build();
       
      See Also:
    • SCORE_FIELD_NAME

      public static final String SCORE_FIELD_NAME
      The expression to be used if you wish to sort by document score. You need to create a sort expression as
      
       SortExpression expr = SortExpression.newBuilder()
           .setExpression(String.format(
               "%s + rating * 0.01", SortExpression.SCORE_FIELD_NAME))
           .setDirection(SortExpression.SortDirection.DESCENDING)
           .setDefaultValueNumeric(0)
           .build();
       
      See Also:
    • TIMESTAMP_FIELD_NAME

      public static final String TIMESTAMP_FIELD_NAME
      The expression to be used if you wish to sort by seconds since EPOCH that the document was written. You need to create a sort expression as
      
       SortExpression expr = SortExpression.newBuilder()
           .setExpression(SortExpression.TIMESTAMP_FIELD_NAME)
           .setDefaultValueNumeric(0)
           .build();
       
      See Also:
  • Method Details

    • getExpression

      public String getExpression()
      Returns:
      the expression to evaluate for each document and sort by
    • getDirection

      public SortExpression.SortDirection getDirection()
      Returns:
      the direction to sort the search results in
    • getDefaultValue

      public String getDefaultValue()
      Returns:
      the default value for the field. Can be null
    • getDefaultValueNumeric

      public Double getDefaultValueNumeric()
      Returns:
      the default numeric value for the field. Can be null
    • getDefaultValueDate

      public Date getDefaultValueDate()
      Returns:
      the default date value for the field. Can be null
    • newBuilder

      public static SortExpression.Builder newBuilder()
      Creates and returns a SortExpression Builder.
      Returns:
      a new SortExpression.Builder. Set the parameters for the sort specification on the Builder, and use the SortExpression.Builder.build() method to create a concrete instance of SortExpression
    • toString

      public String toString()
      Overrides:
      toString in class Object