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 by
java.lang.IllegalArgumentException
- if the expression is invalid
public 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 field
java.lang.IllegalArgumentException
- if the
defaultValue
is not valid
public SortExpression.Builder setDefaultValueNumeric(double defaultValue)
defaultValue
- the default value for the field
public 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 field
public SortExpression build()
SortExpression
from the set values.
SortExpression
built from the set values
java.lang.IllegalArgumentException
- if the field name or
default value is invalid