com.google.appengine.api.search
Class SortOptions.Builder
- java.lang.Object
-
- com.google.appengine.api.search.SortOptions.Builder
-
- Enclosing class:
- SortOptions
public static final class SortOptions.Builder extends java.lang.Object
A builder that constructsSortOptionss
. A SortOptions will evaluate each of theSortExpressions
on each search result and apply a sort order with priority given to the sort expressions from left to right. The following code illustrates creating a SortOptions specification to sort documents based on decreasing product rating and then within rating showing cheapest products based on price plus tax, sorting at most 2000 documents.SortOptions sortOptions = SortOptions.newBuilder() .addSortExpression(SortExpression.newBuilder() .setExpression("rating") .setDirection(SortExpression.SortDirection.DESCENDING) .setDefaultValueNumeric(0)) .addSortExpression(SortExpression.newBuilder() .setExpression("price + tax") .setDirection(SortExpression.SortDirection.ASCENDING) .setDefaultValueNumeric(99999999.00)) .setLimit(1000) .build();
The following code fragment shows how the score from aMatchScorer
can be used in an expression that combines the score with one thousandth of an "importance" field. At most 1000 documents are scored and sorted.SortOptions sortOptions = SortOptions.newBuilder() .setMatchScorer(MatchScorer.newBuilder()) .addSortExpression(SortExpression.newBuilder() .setExpression(String.format( "%s + (importance * .001)", SortExpression.SCORE_FIELD_NAME)) .setDirection(SortExpression.SortDirection.DESCENDING) .setDefaultValueNumeric(0)) .setLimit(1000) .build();
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description SortOptions.Builder
addSortExpression(SortExpression.Builder builder)
Adds aSortExpression
built from the builder to the list of sort expressions.SortOptions.Builder
addSortExpression(SortExpression sortExpression)
Adds aSortExpression
to the list of sort expressions.SortOptions
build()
Builds aSortOptions
from the set values.SortOptions.Builder
setLimit(int limit)
Sets the limit on the number of documents to score or sort.SortOptions.Builder
setMatchScorer(MatchScorer.Builder builder)
Sets the matchScorer to theMatchScorer
built from the builder.SortOptions.Builder
setMatchScorer(MatchScorer matchScorer)
SortOptions.Builder
setMatchScorer(RescoringMatchScorer.Builder builder)
Sets the matchScorer to theRescoringMatchScorer
built from the builder.
-
-
-
Method Detail
-
setLimit
public SortOptions.Builder setLimit(int limit)
Sets the limit on the number of documents to score or sort.- Parameters:
limit
- the maximum number of documents to score or sort- Returns:
- this builder
- Throws:
java.lang.IllegalArgumentException
- if the limit is out of range
-
setMatchScorer
public SortOptions.Builder setMatchScorer(MatchScorer matchScorer)
Sets aMatchScorer
orRescoringMatchScorer
to base someSortExpressions
on. The value of the matchScorer can be accessed by using the field name "_score".- Parameters:
matchScorer
- the rescoring/match matchScorer to use in an expression built on "_score"- Returns:
- this builder
-
setMatchScorer
public SortOptions.Builder setMatchScorer(MatchScorer.Builder builder)
Sets the matchScorer to theMatchScorer
built from the builder.- Parameters:
builder
- a builder of a MatchScorer- Returns:
- this builder
- See Also:
setMatchScorer(MatchScorer)
-
setMatchScorer
public SortOptions.Builder setMatchScorer(RescoringMatchScorer.Builder builder)
Sets the matchScorer to theRescoringMatchScorer
built from the builder.- Parameters:
builder
- a builder of a RescoringMatchScorer- Returns:
- this builder
- See Also:
setMatchScorer(MatchScorer)
-
addSortExpression
public SortOptions.Builder addSortExpression(SortExpression sortExpression)
Adds aSortExpression
to the list of sort expressions.- Parameters:
sortExpression
- an expression to sort documents by- Returns:
- this Builder
-
addSortExpression
public SortOptions.Builder addSortExpression(SortExpression.Builder builder)
Adds aSortExpression
built from the builder to the list of sort expressions.- Parameters:
builder
- a builder of SortExpression to sort documents by- Returns:
- this Builder
-
build
public SortOptions build()
Builds aSortOptions
from the set values.- Returns:
- a
SortOptions
built from the set values
-
-