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);
Implements
SerializableStatic 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 |
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 |