Python 2.7은 지원이 종료되었으며 2026년 1월 31일에
지원 중단됩니다. 지원 중단 후에는 조직에서 이전에 조직 정책을 사용하여 레거시 런타임의 배포를 다시 사용 설정한 경우에도 Python 2.7 애플리케이션을 배포할 수 없습니다. 기존 Python 2.7 애플리케이션은
지원 중단 날짜 이후에도 계속 실행되고 트래픽을 수신합니다.
지원되는 최신 Python 버전으로 마이그레이션하는 것이 좋습니다.
Cursor 클래스
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Cursor
클래스는 현재 설정된 검색결과에 커서를 제공하여 사용자가 지정하는 기준에 따라 다음 세트를 검색할 수 있도록 합니다. 커서를 사용하면 색인이 업데이트될 때 페이지 매김 성능과 일관성이 향상됩니다.
다음은 커서를 사용하여 다음 결과 페이지를 가져오는 방법을 보여 줍니다.
# 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)))
SearchResults
의 ScoredDocuments
중 어느 하나에서라도 검색을 계속하려면 Cursor.per_result
를 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)))
커서는 Cursor를 재구성하는 데 사용될 수 있는 웹 안전 문자열로 캐시될 수 있습니다. 예를 들면 다음과 같습니다.
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)))
생성자
Cursor
클래스의 생성자는 다음과 같이 정의됩니다.
-
class Cursor(web_safe_string=None, per_result=False)
Cursor
클래스의 인스턴스를 생성합니다.
인수
- per_result
true이면 SearchResults의 ScoredDocument마다 커서가 반환됩니다. false이면 모든 SearchResults에 대해 단일 커서가 반환됩니다. QueryOptions.offset
를 사용하는 경우 다음 오프셋(있는 경우) 계산은 사용자 책임이므로 무시됩니다.
- web_safe_string
다음 결과 세트를 가져오기 위해 검색 서비스에서 해석될 검색 서비스에서 반환된 커서 문자열입니다.
결과 값
Cursor
클래스의 새 인스턴스입니다.
예외
- ValueError
API에서 제공된 web_safe_string
가 요구되는 형식이 아닌 경우
속성
Cursor
클래스의 인스턴스에는 다음 속성이 있습니다.
- per_result
결과의 각 ScoredDocument에 대해 커서 반환 여부를 반환합니다.
- web_safe_string
검색 서비스에서 생성된 커서 문자열을 반환합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-04(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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."]]