use a cursor returned from a
previous set of search results as a starting point to retrieve
the next set of results. This can get you better performance, and
also improves the consistency of pagination through index updates
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eCursor.Builder\u003c/code\u003e class is used to construct \u003ccode\u003eCursor\u003c/code\u003e objects, which are used for paginating search results.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ebuild()\u003c/code\u003e method creates a \u003ccode\u003eCursor\u003c/code\u003e object based on the parameters provided to the builder.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003ebuild(String webSafeString)\u003c/code\u003e method creates a \u003ccode\u003eCursor\u003c/code\u003e from a previously returned cursor string, allowing for improved performance and consistency.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003esetPerResult(boolean perResult)\u003c/code\u003e method controls whether each search result includes its own \u003ccode\u003eCursor\u003c/code\u003e or if a single \u003ccode\u003eCursor\u003c/code\u003e is returned for the entire result set.\u003c/p\u003e\n"]]],[],null,["# Class Cursor.Builder (2.0.0)\n\n public static final class Cursor.Builder\n\nA builder which constructs Cursor objects. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e Cursor.Builder \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nMethods\n-------\n\n### build()\n\n public Cursor build()\n\nConstruct the final message.\n\n### build(String webSafeString)\n\n public Cursor build(String webSafeString)\n\nConstruct the final message.\n\n### setPerResult(boolean perResult)\n\n public Cursor.Builder setPerResult(boolean perResult)\n\nSets whether or not to return a Cursor on each individual result\nin [Results](/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.search.Results) or a single cursor with all\nResults."]]