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.ObjectA builder that constructsSortOptionss. A SortOptions will evaluate each of theSortExpressionson 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. The following code fragment shows how the score from aSortOptions 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();MatchScorercan 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.BuilderaddSortExpression(SortExpression.Builder builder)Adds aSortExpressionbuilt from the builder to the list of sort expressions.SortOptions.BuilderaddSortExpression(SortExpression sortExpression)Adds aSortExpressionto the list of sort expressions.SortOptionsbuild()Builds aSortOptionsfrom the set values.SortOptions.BuildersetLimit(int limit)Sets the limit on the number of documents to score or sort.SortOptions.BuildersetMatchScorer(MatchScorer.Builder builder)Sets the matchScorer to theMatchScorerbuilt from the builder.SortOptions.BuildersetMatchScorer(MatchScorer matchScorer)SortOptions.BuildersetMatchScorer(RescoringMatchScorer.Builder builder)Sets the matchScorer to theRescoringMatchScorerbuilt 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 aMatchScorerorRescoringMatchScorerto base someSortExpressionson. 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 theMatchScorerbuilt 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 theRescoringMatchScorerbuilt 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 aSortExpressionto 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 aSortExpressionbuilt 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 aSortOptionsfrom the set values.- Returns:
- a
SortOptionsbuilt from the set values
-
-