Class SortExpression (2.0.0)

public final class SortExpression

Sorting specification for a single dimension. Multi-dimensional sorting is supported by a collection of SortExpressions.

Inheritance

java.lang.Object > SortExpression

Static Fields

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();
 
Field Value
Type Description
String

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();
 
Field Value
Type Description
String

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();
 
Field Value
Type Description
String

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();
 
Field Value
Type Description
String

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();
 
Field Value
Type Description
String

Static Methods

newBuilder()

public static SortExpression.Builder newBuilder()

Creates and returns a SortExpression Builder.

Returns
Type Description
SortExpression.Builder

a new SortExpression.Builder. Set the parameters for the sort specification on the Builder, and use the Builder#build() method to create a concrete instance of SortExpression

Methods

getDefaultValue()

public String getDefaultValue()
Returns
Type Description
String

the default value for the field. Can be null

getDefaultValueDate()

public Date getDefaultValueDate()
Returns
Type Description
Date

the default date value for the field. Can be null

getDefaultValueNumeric()

public Double getDefaultValueNumeric()
Returns
Type Description
Double

the default numeric value for the field. Can be null

getDirection()

public SortExpression.SortDirection getDirection()
Returns
Type Description
SortExpression.SortDirection

the direction to sort the search results in

getExpression()

public String getExpression()
Returns
Type Description
String

the expression to evaluate for each document and sort by

toString()

public String toString()
Returns
Type Description
String
Overrides