public static final class SortExpression.Builder
extends java.lang.Object
SortExpressions. The user
must provide an expression. The expression can be as simple as a field
name, or can be some other expression such as "score +
count(likes) * 0.1", which combines a scorer score with a count
of the number of likes values times 0.1. A default value must be specified
for the expression.
SortExpression expr = SortExpression.newBuilder()
.setExpression(String.format(
"%s + count(likes) * 0.1", SortExpression.SCORE_FIELD_NAME))
.setDirection(SortExpression.SortDirection.ASCENDING)
.setDefaultValueNumeric(0.0)
.build()
| Modifier and Type | Method and Description |
|---|---|
SortExpression |
build()
Builds a
SortExpression from the set values. |
SortExpression.Builder |
setDefaultValue(java.lang.String defaultValue)
Sets the default value for the field for sorting purposes.
|
SortExpression.Builder |
setDefaultValueDate(java.util.Date defaultValue)
Sets the default value for the field for sorting purposes.
|
SortExpression.Builder |
setDefaultValueNumeric(double defaultValue)
Sets the default value for the field for sorting purposes.
|
SortExpression.Builder |
setDirection(SortExpression.SortDirection direction)
Sets the direction to sort the search results in.
|
SortExpression.Builder |
setExpression(java.lang.String expression)
Sets an expression to be evaluated for each document to sort by.
|
public SortExpression.Builder setExpression(java.lang.String expression)
setDefaultValue(String) or numeric
setDefaultValueNumeric(double) or date
setDefaultValueDate(Date) must be specified for the expression.expression - the expression to evaluate for each
document to sort byjava.lang.IllegalArgumentException - if the expression is invalidpublic SortExpression.Builder setDirection(SortExpression.SortDirection direction)
direction - the direction to sort the search results in. The
default direction is SortExpression.SortDirection.DESCENDINGpublic SortExpression.Builder setDefaultValue(java.lang.String defaultValue)
defaultValue - the default value for the fieldjava.lang.IllegalArgumentException - if the defaultValue is not validpublic SortExpression.Builder setDefaultValueNumeric(double defaultValue)
defaultValue - the default value for the fieldpublic SortExpression.Builder setDefaultValueDate(java.util.Date defaultValue)
SearchApiLimits.MINIMUM_DATE_VALUE or
SearchApiLimits.MAXIMUM_DATE_VALUE
as a default value.defaultValue - the default value for the fieldpublic SortExpression build()
SortExpression from the set values.SortExpression built from the set valuesjava.lang.IllegalArgumentException - if the field name or
default value is invalid