Classe Query
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A classe Query
representa uma solicitação no serviço de pesquisa para consultar o índice.
Query
é definido no módulo google.appengine.api.search
.
Introdução
A classe Query
permite especificar uma string de consulta e outras opções, como ordem de classificação, limite e um cursor, para uma pesquisa em um índice. Você define essas opções instanciando a classe QueryOptions
para o parâmetro Query.options
.
Por exemplo, o fragmento de código a seguir solicita uma pesquisa de documentos em que first
ocorre no assunto e good
ocorre em qualquer lugar, retornando, no máximo, 20 documentos, um cursor de documento único para os resultados, classificando por assunto em ordem decrescente, retornando os campos de autor, assunto e resumo, bem como um conteúdo de campo em formato de snippet.
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'])))
...
Você tem a opção de retornar um cursor com cada conjunto de resultados da pesquisa. Esse cursor permite percorrer mais facilmente os resultados da pesquisa. Para receber um Cursor, especifique-o em QueryOptions.cursor
e extraia o cursor para a próxima solicitação de SearchResults.cursor
.
Isso permite continuar a pesquisa do último documento encontrado, conforme mostrado abaixo:
...
results = index.search(
search.Query(query_string='subject:first good',
options=search.QueryOptions(cursor=results.cursor)))
Construtor
O construtor da classe Query
é definido da seguinte maneira:
-
classe Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)
Solicite ao serviço de pesquisa para consultar um índice, especificando parâmetros para essa consulta.
Argumentos
- query_string
A consulta de correspondência para documentos no índice. Uma consulta é uma expressão booleana que contém termos. Por exemplo, a consulta job tag:"very important" sent < 2011-02-28
encontra documentos com o termo job
em qualquer campo e também contém a frase very important
em um campo tag
e uma data sent
anterior a 28 de fevereiro, 2011.
- options
Instanciação da classe QueryOptions
com instruções para resultados de pesquisa de pós-processamento.
- enable_facet_discovery
Ative a descoberta dos atributos mais relevantes usados pelos documentos que atendem a essa consulta de pesquisa e as retorna.
- return_facets
Um iterável de FacetRequest ou basestring como o nome do atributo para retornar um atributo específico com o resultado.
- facet_options
Uma FacetOption que descreve o processamento de atributos.
- facet_refinements
Um iterável de objetos FacetRefinement ou strings de token de refinamento usado para filtrar os resultados da pesquisa com base em um valor de atributo.
Os refinamentos de atributos diferentes serão em conjunção e os refinamentos para o mesmo atributo serão em disjunção.
Valor do resultado
Uma nova instância da classe Query
.
Exceções
- TypeError
Gerado quando query_string
não é uma string ou options
não é um objeto QueryOptions
.
- ValueError
Gerado quando o query_string
não pode ser analisado.
Propriedades
Uma instância da classe Query
tem as seguintes propriedades:
- query_string
Retorna a string de consulta a ser pesquisada nesta solicitação.
- options
Retorna o QueryOptions
que define o pós-processamento dos resultados da pesquisa.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-19 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-19 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."]]