Klasse "Cursor"
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Klasse Cursor
stellt in der aktuellen Gruppe der Suchergebnisse einen Cursor bereit, mit dem Sie die nächste Gruppe nach von Ihnen angegebenen Kriterien abrufen können. Die Verwendung eines Cursors verbessert die Leistung und Konsistenz der Paginierung beim Aktualisieren von Indexen.
Nachfolgend sehen Sie, wie mit dem Cursor die nächste Ergebnisseite aufgerufen wird:
# Get the first set of results, and return a cursor with that result set.
# The first cursor tells the API to return cursors in the SearchResults object.
results = index.search(search.Query(query_string='some stuff',
options=search.QueryOptions(cursor=search.Cursor()))
# Get the next set of results with a cursor.
results = index.search(search.Query(query_string='some stuff',
options=search.QueryOptions(cursor=results.cursor)))
Wenn Sie die Suche aus einem der ScoredDocuments
in SearchResults
fortführen möchten, setzen Sie Cursor.per_result
auf True
:
# get the first set of results, the first cursor is used to specify
# that cursors are to be returned in the SearchResults.
results = index.search(search.Query(query_string='some stuff',
options=search.QueryOptions(cursor=Cursor(per_result=True)))
# this shows how to access the per_document cursors returned from a search
per_document_cursor = None
for scored_document in results:
per_document_cursor = scored_document.cursor
# get the next set of results
results = index.search(search.Query(query_string='some stuff',
options=search.QueryOptions(cursor=per_document_cursor)))
Der Cursor kann als websicherer String, der zur Rekonstruktion des Cursors verwendet werden kann, im Cache gespeichert werden. Beispiel:
next_cursor = results.cursor
next_cursor_url_safe = next_cursor.web_safe_string
// save next_cursor_url_safe
...
// extract next_cursor_url_safe
results = index.search(
search.Query(query_string,
cursor=search.Cursor(web_safe_string=next_cursor_url_safe)))
Konstruktor
Der Konstruktor für die Klasse Cursor
ist so definiert:
-
class Cursor(web_safe_string=None, per_result=False)
Konstruieren Sie eine Instanz der Klasse Cursor
.
Argumente
- per_result
Bei "true" wird in SearchResults ein Cursor pro ScoredDocument zurückgegeben. Bei "false" wird für alle SearchResults ein einziger Cursor zurückgegeben. Wird ignoriert, wenn QueryOptions.offset
verwendet wird, da der Nutzer für die Berechnung des nächsten Offsets (falls vorhanden) verantwortlich ist.
- web_safe_string
Der vom Suchdienst zurückgegebene Cursorstring, der vom Suchdienst interpretiert wird, um die nächste Gruppe von Ergebnissen abzurufen.
Ergebniswert
Eine neue Instanz der Klasse Cursor
.
Ausnahmen
- ValueError
Wenn der von der API bereitgestellte web_safe_string
nicht das erforderliche Format aufweist.
Eigenschaften
Eine Instanz der Klasse Cursor
hat die folgenden Attribute:
- per_result
Gibt zurück, ob für jedes ScoredDocument in den Ergebnissen ein Cursor zurückgegeben werden soll.
- web_safe_string
Gibt den vom Suchdienst generierten Cursorstring zurück
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-09-04 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-04 (UTC)."],[[["\u003cp\u003eThe \u003ccode\u003eCursor\u003c/code\u003e class enables retrieving subsequent sets of search results, enhancing pagination performance and consistency.\u003c/p\u003e\n"],["\u003cp\u003eCursors can be used to fetch the next set of results for an entire search query or for individual \u003ccode\u003eScoredDocuments\u003c/code\u003e within the results.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eper_result\u003c/code\u003e argument in the \u003ccode\u003eCursor\u003c/code\u003e constructor determines if a cursor is provided for each \u003ccode\u003eScoredDocument\u003c/code\u003e or the entire result set.\u003c/p\u003e\n"],["\u003cp\u003eCursors can be serialized into a web-safe string (\u003ccode\u003eweb_safe_string\u003c/code\u003e) for storage and later use to reconstruct the cursor for continued searching.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCursor\u003c/code\u003e class is applicable for first generation runtimes, and migration options should be reviewed when upgrading to the second-generation runtimes.\u003c/p\u003e\n"]]],[],null,["# The Cursor Class\n\nThe `Cursor` class provides a cursor in the current set search results, allowing you to retrieve the next set based on criteria that you specify. Using cursors improves the performance and consistency of pagination as indexes are updated.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\nThe following shows how to use the cursor to get the next page of results: \n\n```python\n# Get the first set of results, and return a cursor with that result set.\n# The first cursor tells the API to return cursors in the SearchResults object.\nresults = index.search(search.Query(query_string='some stuff',\n options=search.QueryOptions(cursor=search.Cursor()))\n\n# Get the next set of results with a cursor.\nresults = index.search(search.Query(query_string='some stuff',\n options=search.QueryOptions(cursor=results.cursor)))\n```\n\nIf you want to continue search from any one of the `ScoredDocuments` in `SearchResults`, set `Cursor.per_result` to `True`: \n\n```python\n# get the first set of results, the first cursor is used to specify\n# that cursors are to be returned in the SearchResults.\nresults = index.search(search.Query(query_string='some stuff',\n options=search.QueryOptions(cursor=Cursor(per_result=True)))\n\n# this shows how to access the per_document cursors returned from a search\nper_document_cursor = None\nfor scored_document in results:\n per_document_cursor = scored_document.cursor\n\n# get the next set of results\nresults = index.search(search.Query(query_string='some stuff',\n options=search.QueryOptions(cursor=per_document_cursor)))\n```\n\nThe cursor can be cached as a web safe string that can be used to reconstruct the Cursor. For example, \n\n```python\nnext_cursor = results.cursor\nnext_cursor_url_safe = next_cursor.web_safe_string\n\n// save next_cursor_url_safe\n...\n// extract next_cursor_url_safe\n\nresults = index.search(\n search.Query(query_string,\n cursor=search.Cursor(web_safe_string=next_cursor_url_safe)))\n```\n\nConstructor\n-----------\n\nThe constructor for class `Cursor` is defined as follows:\n\n\nclass Cursor(web_safe_string=None, per_result=False)\n\n: Construct an instance of class `Cursor`.\n\n Arguments\n\n per_result\n\n : When true, returns a cursor per ScoredDocument in SearchResults. When false, returns a single cursor for all of SearchResults. Ignored if using [QueryOptions.offset](/appengine/docs/legacy/standard/python/search/queryoptionsclass), as the user is responsible for calculating a next offset (if any).\n\n web_safe_string\n\n : The cursor string returned from the search service to be interpreted by the search service to get the next set of results.\n\n Result value\n\n : A new instance of class `Cursor`.\n\n Exceptions\n\n ValueError\n\n : If the `web_safe_string` provided by the API is not of required format.\n\n \u003cbr /\u003e\n\nProperties\n----------\n\nAn instance of class `Cursor` has the following properties:\n\nper_result\n\n: Returns whether to return a cursor for each ScoredDocument in results.\n\nweb_safe_string\n\n: Returns the cursor string generated by the search service."]]