Class Cursor (2.0.0)

public final class Cursor implements Serializable

Represents a cursor on the set of results found for executing a Query during a search on the Index.

For example, the following code shows how to use a cursor to get the next page of results


 Index index = ...
 Cursor cursor = Cursor.newBuilder().build();
 Query query = Query.newBuilder().setOptions(
     QueryOptions.newBuilder().setCursor(cursor).build("some query"));

 // Get the first page of results
 Results<ScoredDocument> results = index.search(query);

 // process results
 ...

 // Get the next set of results from the returned cursor
 query = Query.newBuilder().setOptions(
     QueryOptions.newBuilder().setCursor(
         results.getCursor()).build("some query"));

 results = index.search(query);
 

Alternatively, you can get a cursor to continue from each of the returned results.


 Cursor cursor =
     Cursor.newBuilder().setPerResult(true).build();
 Query query = Query.newBuilder().setOptions(
     QueryOptions.newBuilder().setCursor(cursor).build("some query"));

 // Get the first page of results
 Results<ScoredDocument> results = index.search(query);

 // process results
 for (ScoredDocument result : results) {
   // choose a cursor from one of the results
   cursor = result.getCursor();
 }

 // Get the next set of results from the result's cursor
 query = Query.newBuilder().setOptions(
     QueryOptions.newBuilder().setCursor(cursor).build("some query"));

 results = index.search(query);
 

Inheritance

java.lang.Object > Cursor

Implements

Serializable

Static Methods

newBuilder()

public static Cursor.Builder newBuilder()

Creates and returns a Cursor builder. Set the search request parameters and use the Builder#build() method to create a concrete instance of Cursor.

Returns
Type Description
Cursor.Builder

a Builder which can construct a search request

newBuilder(Cursor request)

public static Cursor.Builder newBuilder(Cursor request)

Creates a builder from the given request.

Parameter
Name Description
request Cursor

the search request for the builder to use to build another request

Returns
Type Description
Cursor.Builder

this builder

Methods

isPerResult()

public boolean isPerResult()
Returns
Type Description
boolean

whether the cursor is for all Results or one cursor per result

toString()

public String toString()
Returns
Type Description
String
Overrides

toWebSafeString()

public String toWebSafeString()

A web safe string representing 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.

Returns
Type Description
String

a web safe string representation of the cursor