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.DESCENDING
public 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