public final class SortExpression
Sorting specification for a single dimension. Multi-dimensional sorting is supported by a collection of SortExpressions.
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 |