Python 2.7 ha raggiunto la fine del supporto
e verrà
ritirato
il 31 gennaio 2026. Dopo il ritiro, non potrai eseguire il deployment di applicazioni Python 2.7, anche se la tua organizzazione ha utilizzato in precedenza un criterio dell'organizzazione per riattivare i deployment di runtime legacy. Le tue applicazioni Python 2.7 esistenti continueranno a essere eseguite e a ricevere traffico dopo la
data di ritiro. Ti consigliamo di
eseguire la migrazione all'ultima versione supportata di Python.
La classe Cursor
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
La classe Cursor
fornisce un cursore nei risultati di ricerca dell'insieme corrente, consentendo di recuperare l'insieme successivo in base ai criteri specificati. L'utilizzo dei cursori migliora il rendimento e la coerenza della paginazione man mano che gli indici vengono aggiornati.
Di seguito viene mostrato come utilizzare il cursore per visualizzare la pagina successiva dei risultati:
# 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)))
Se vuoi continuare la ricerca da uno dei ScoredDocuments
in SearchResults
, imposta Cursor.per_result
su 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)))
Il cursore può essere memorizzato nella cache come stringa sicura per il web che può essere utilizzata per ricostruire il cursore. Ad esempio,
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)))
Costruttore
Il costruttore della classe Cursor
è definito come segue:
-
class Cursor(web_safe_string=None, per_result=False)
Costruisci un'istanza della classe Cursor
.
Argomenti
- per_result
Se è true, restituisce un cursore per ogni ScoredDocument in SearchResults. Se false, restituisce un singolo cursore per tutti i risultati di ricerca. Viene ignorato se si utilizza QueryOptions.offset
, in quanto è responsabilità dell'utente calcolare un eventuale offset successivo.
- web_safe_string
La stringa del cursore restituita dal servizio di ricerca da interpretare dal servizio di ricerca per ottenere il set di risultati successivo.
Valore del risultato
Una nuova istanza della classe Cursor
.
Eccezioni
- ValueError
Se il web_safe_string
fornito dall'API non è nel formato richiesto.
Proprietà
Un'istanza della classe Cursor
ha le seguenti proprietà:
- per_result
Restituisce se restituire un cursore per ogni ScoredDocument nei risultati.
- web_safe_string
Restituisce la stringa del cursore generata dal servizio di ricerca.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-11 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-11 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."]]