com.google.appengine.api.search
Class QueryOptions

java.lang.Object
  extended by com.google.appengine.api.search.QueryOptions

public final class QueryOptions
extends java.lang.Object

Represents options which control where and what in the search results to return, from restricting the document fields returned to those given, and scoring and sorting the results, whilst supporting pagination.

For example, the following options will return documents from search results for some given query, returning up to 20 results including the fields 'author' and 'date-sent' as well as snippeted fields 'subject' and 'body'. The results are sorted by 'author' in descending order, getting the next 20 results from the responseCursor in the previously returned results, giving back a single cursor in the Results to get the next batch of results after this.

 QueryOptions request = QueryOptions.newBuilder()
      .setLimit(20)
      .setFieldsToReturn("author", "date-sent")
      .setFieldsToSnippet("subject", "body")
      .setSortOptions(SortOptions.newBuilder().
          .addSortExpression(SortExpression.newBuilder()
              .setExpression("author")
              .setDirection(Scorer.SortDirection.DESCENDING)
              .setDefaultValue("")))

      .setCursor(Cursor.newBuilder().build())
      .build();
 


Nested Class Summary
static class QueryOptions.Builder
          A builder which constructs QueryOptions objects.
 
Method Summary
 Cursor getCursor()
           
 java.util.List<FieldExpression> getExpressionsToReturn()
           
 java.util.List<java.lang.String> getFieldsToReturn()
           
 java.util.List<java.lang.String> getFieldsToSnippet()
           
 int getLimit()
           
 int getNumberFoundAccuracy()
          Any Results.getNumberFound() less than or equal to this setting will be accurate.
 int getOffset()
           
 SortOptions getSortOptions()
           
 boolean isReturningIdsOnly()
           
static QueryOptions.Builder newBuilder()
          Creates and returns a QueryOptions builder.
static QueryOptions.Builder newBuilder(QueryOptions request)
          Creates a builder from the given request.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getLimit

public int getLimit()
Returns:
the limit on the number of documents to return in search results

getCursor

public Cursor getCursor()
Returns:
a cursor returned from a previous set of search results to use as a starting point to retrieve the next set of results. Can be null

getOffset

public int getOffset()
Returns:
the offset of the first result to return; returns 0 if was not set

getNumberFoundAccuracy

public int getNumberFoundAccuracy()
Any Results.getNumberFound() less than or equal to this setting will be accurate.

Returns:
the found count accuracy

getSortOptions

public SortOptions getSortOptions()
Returns:
a SortOptions specifying how to sort Documents in Results

isReturningIdsOnly

public boolean isReturningIdsOnly()
Returns:
if this search request returns results document IDs only

getFieldsToReturn

public java.util.List<java.lang.String> getFieldsToReturn()
Returns:
an unmodifiable list of names of fields to return in search results

getFieldsToSnippet

public java.util.List<java.lang.String> getFieldsToSnippet()
Returns:
an unmodifiable list of names of fields to snippet in search results

getExpressionsToReturn

public java.util.List<FieldExpression> getExpressionsToReturn()
Returns:
an unmodifiable list of expressions which will be evaluated and returned in results

newBuilder

public static QueryOptions.Builder newBuilder()
Creates and returns a QueryOptions builder. Set the search request parameters and use the QueryOptions.Builder.build() method to create a concrete instance of QueryOptions.

Returns:
a QueryOptions.Builder which can construct a search request

newBuilder

public static QueryOptions.Builder newBuilder(QueryOptions request)
Creates a builder from the given request.

Parameters:
request - the search request for the builder to use to build another request

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object