com.google.appengine.api.search
Class Query

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

public class Query
extends java.lang.Object

A query to search an index for documents which match, restricting the document fields returned to those given, and scoring and sorting the results, whilst supporting pagination.

For example, the following query will search for documents where the tokens 'good' and 'story' occur in some fields, returns 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 options = QueryOptions.newBuilder()
     .setLimit(20)
     .setFieldsToSnippet("subject", "body")
     .setScorer(CustomScorer.newBuilder()
         .addSortExpression(SortExpression.newBuilder()
             .setExpression("author")
             .setDirection(SortDirection.DESCENDING)
             .setDefaultValue("")))
     .setCursor(responseCursor)
     .build();
 Query query = Query.newBuilder()
     .setOptions(options)
     .build("good story");
 


Nested Class Summary
static class Query.Builder
          A builder which constructs Query objects.
 
Method Summary
 QueryOptions getOptions()
           
 java.lang.String getQueryString()
          The query can be as simple as a single term ("foo"), or as complex as a boolean expression, including field names ("title:hello OR body:important -october").
static Query.Builder newBuilder()
          Creates and returns a Query builder.
static Query.Builder newBuilder(Query query)
          Creates a builder from the given query.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getQueryString

public java.lang.String getQueryString()
The query can be as simple as a single term ("foo"), or as complex as a boolean expression, including field names ("title:hello OR body:important -october").

Returns:
the query

getOptions

public QueryOptions getOptions()
Returns:
the QueryOptions for controlling the what is returned in the result set matching the query

newBuilder

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

Returns:
a Query.Builder which can construct a query

newBuilder

public static Query.Builder newBuilder(Query query)
Creates a builder from the given query.

Parameters:
query - the query for the builder to use to build another query

toString

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