Python 2.7은 지원이 종료되었으며 2026년 1월 31일에
지원 중단됩니다. 지원 중단 후에는 조직에서 이전에 조직 정책을 사용하여 레거시 런타임의 배포를 다시 사용 설정한 경우에도 Python 2.7 애플리케이션을 배포할 수 없습니다. 기존 Python 2.7 애플리케이션은
지원 중단 날짜 이후에도 계속 실행되고 트래픽을 수신합니다.
지원되는 최신 Python 버전으로 마이그레이션하는 것이 좋습니다.
쿼리 클래스
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Query
클래스는 색인을 쿼리하기 위한 검색 서비스의 요청을 나타냅니다.
Query
은 google.appengine.api.search
모듈에 정의됩니다.
소개
Query
클래스를 사용하면 색인 검색을 위해 쿼리 문자열과 정렬 순서, 제한, 커서와 같은 기타 옵션을 지정할 수 있습니다. QueryOptions
클래스를 Query.options
매개변수로 인스턴스화하여 이러한 옵션을 설정합니다.
예를 들어 다음 코드는 제목에서 first
가 발생하고 어느 위치에서든 good
이 발생하는 문서 검색을 요청하여 최대 20개의 문서를 반환하고 결과에 대한 단일 문서 커서를 반환하고 제목 내림차순으로 정렬하고 작성자, 제목, 요약 필드와 스니펫 처리된 필드 내용을 반환합니다.
from google.appengine.api import search
...
results = index.search(search.Query(
# Specify the query string using the Search API's Query language.
query_string='subject:first good',
options=search.QueryOptions(
limit=20,
cursor=search.Cursor(),
sort_options=search.SortOptions(
expressions=[
search.SortExpression(expression='subject', default_value='')],
limit=1000),
returned_fields=['author', 'subject', 'summary'],
snippeted_fields=['content'])))
...
각 검색 결과 집합과 함께 커서를 반환할 수 있습니다. 이 커서는 검색 결과 페이지를 더 쉽게 탐색할 수 있게 해줍니다. 커서를 가져오려면 QueryOptions.cursor
에 커서를 지정하고 SearchResults.cursor
에서 다음 요청에 대한 커서를 추출합니다.
이렇게 하면 다음과 같이 마지막으로 찾은 문서에서 검색을 계속 수행할 수 있습니다.
...
results = index.search(
search.Query(query_string='subject:first good',
options=search.QueryOptions(cursor=results.cursor)))
생성자
Query
클래스의 생성자는 다음과 같이 정의됩니다.
-
class Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)
해당 쿼리의 매개변수를 지정하여 검색 서비스가 색인을 쿼리하도록 요청합니다.
인수
- query_string
색인의 문서와 대조할 쿼리. 쿼리는 용어가 포함된 부울 표현식입니다. 예를 들어 job tag:"very important" sent < 2011-02-28
쿼리는 어느 필드에든 job
이라는 용어가 있고 tag
필드에 very important
구문이 있으며 sent
날짜가 2011년 2월 28일 이전인 문서를 찾습니다.
- 옵션
검색결과 후처리를 위한 지침을 적용하는 QueryOptions
클래스의 인스턴스화입니다.
- enable_facet_discovery
이 검색 쿼리를 충족하는 문서에 사용된 가장 관련성 높은 속성을 탐색하고 반환하도록 합니다.
- return_facets
결과와 함께 특정 속성을 반환하기 위한 속성 이름으로서 FacetRequest 또는 basestring의 반복 가능
- facet_options
속성 처리를 설명하는 FacetOption
- facet_refinements
속성 값을 기준으로 검색결과를 필터링하는 데 사용되는 FacetRefinement 객체 또는 상세검색 토큰 문자열의 반복 가능.
다른 속성의 상세검색은 결합, 같은 속성의 상세검색은 분리가 됩니다.
결과 값
Query
클래스의 새 인스턴스입니다.
예외
- TypeError
query_string
이 문자열이 아니거나 options
이 QueryOptions
객체가 아닌 경우 발생합니다.
- ValueError
query_string
을 파싱할 수 없는 경우 발생합니다.
속성
Query
클래스의 인스턴스에는 다음 속성이 있습니다.
- query_string
이 요청에서 검색할 쿼리 문자열을 반환합니다.
- 옵션
검색결과 후처리를 정의하는 QueryOptions
를 반환합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 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\u003eQuery\u003c/code\u003e class is used to define and send search requests to an index in the search service, specifying the query string and other search parameters.\u003c/p\u003e\n"],["\u003cp\u003eYou can customize search parameters like sort order, result limits, and cursors for pagination by using the \u003ccode\u003eQueryOptions\u003c/code\u003e class in conjunction with the \u003ccode\u003eQuery\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003equery_string\u003c/code\u003e within the \u003ccode\u003eQuery\u003c/code\u003e object represents a boolean expression used to match documents within the index, enabling complex searches.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQuery\u003c/code\u003e class allows for the retrieval of a cursor from \u003ccode\u003eSearchResults\u003c/code\u003e to enable efficient pagination through large result sets, allowing for continued searches.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQuery\u003c/code\u003e constructor can handle options related to facet discovery and refinements, providing advanced filtering and analysis of search results.\u003c/p\u003e\n"]]],[],null,["# The Query Class\n\nClass `Query` represents a request on the search service to query the index.\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\n`Query` is defined in the `google.appengine.api.search` module.\n\nIntroduction\n------------\n\nThe `Query` class allows you to specify a query string and other options, such as sort\norder, limit, and a cursor, for a search on an index. You set these options by instantiating the\n[QueryOptions](/appengine/docs/legacy/standard/python/search/queryoptionsclass) class to the\n`Query.options` parameter.\n\nFor example, the following code fragment requests a search for documents where `first`\noccurs in subject and `good` occurs anywhere, returning at most 20 documents, returning\na single document cursor for the results, sorting by subject in descending order, returning the\nauthor, subject, and summary fields as well as a snippeted field content. \n\n```python\nfrom google.appengine.api import search\n\n...\nresults = index.search(search.Query(\n # Specify the query string using the Search API's /appengine/docs/legacy/standard/python/search/query_strings.\n query_string='subject:first good',\n options=search.QueryOptions(\n limit=20,\n cursor=search.Cursor(),\n sort_options=search.SortOptions(\n expressions=[\n search.SortExpression(expression='subject', default_value='')],\n limit=1000),\n returned_fields=['author', 'subject', 'summary'],\n snippeted_fields=['content'])))\n...\n```\n\nYou have the option to return a cursor with each set of search results. This cursor allows you to\nmore easily page through search results. To get a Cursor, specify it in\n[QueryOptions.cursor](/appengine/docs/legacy/standard/python/search/queryoptionsclass) and extract the cursor for\nthe next request from [SearchResults.cursor](/appengine/docs/legacy/standard/python/search/searchresultsclass).\nThis allows you to continue your search from the last found document, as shown below:\n\n```python\n...\nresults = index.search(\n search.Query(query_string='subject:first good',\n options=search.QueryOptions(cursor=results.cursor)))\n```\n\nConstructor\n-----------\n\nThe constructor for class `Query` is defined as follows:\n\n\nclass Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)\n\n:\n\n Request the search service to query an index, specifying parameters for that query.\n\n \u003cbr /\u003e\n\n:\n\n Arguments\n\n query_string\n\n : The query to match against documents in the index. A query is a boolean expression containing terms. For example, the query `job tag:\"very important\" sent \u003c 2011-02-28 ` finds documents with the term `job` in any field, and also contain the phrase `very important` in a `tag` field, and a `sent` date prior to February 28, 2011.\n\n options\n\n : Instantiation of the [QueryOptions](/appengine/docs/legacy/standard/python/search/queryoptionsclass) class with instructions for post-processing search results.\n\n enable_facet_discovery\n\n : Enable the discovery of the most relevant facets used by the documents that satisfy this search query\n and return them.\n\n return_facets\n\n : An iterable of FacetRequest or basestring as facet name to\n return specific facet with the result.\n\n facet_options\n\n : A FacetOption describing processing of facets.\n\n facet_refinements\n\n : An iterable of FacetRefinement objects or refinement\n token strings used to filter out search results based on a facet value.\n refinements for different facets will be conjunction and refinements for\n the same facet will be disjunction.\n\n Result value\n\n : A new instance of class `Query`.\n\n Exceptions\n\n TypeError\n\n : Raised when `query_string` is not a string or `options` is not a `QueryOptions` object.\n\n ValueError\n\n : Raised when the `query_string` could not be parsed.\n\n Properties\n ----------\n\n An instance of class `Query` has the following properties:\n\n query_string\n\n : Returns the query string to search in this request.\n\n options\n\n : Returns the [QueryOptions](/appengine/docs/legacy/standard/python/search/queryoptionsclass) defining post-processing of the search results."]]