La clase Query
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La clase Query
representa una solicitud en el servicio de búsqueda para consultar el índice.
Query
se define en el módulo google.appengine.api.search
.
Introducción
La clase Query
permite especificar una cadena de consulta y otras opciones, como el criterio de clasificación, el límite y un cursor para la búsqueda en un índice. Crea una instancia de la clase QueryOptions
en el parámetro Query.options
para configurar estas opciones.
Por ejemplo, el siguiente fragmento de código solicita que se busquen documentos en los que first
aparezca en asunto y good
aparezca en cualquier parte; esto muestra 20 documentos como máximo y un solo cursor de documento para los resultados, ordena por asunto en forma descendente, y muestra el autor, el asunto, los campos de resumen y contenido de campo fragmentado.
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'])))
...
Tienes la opción de mostrar un cursor con cada conjunto de resultados de la búsqueda. Este cursor te permite desplazarte por los resultados de la búsqueda con mayor facilidad. Para obtener un Cursor, especifícalo en QueryOptions.cursor
y extrae el cursor para la siguiente solicitud de SearchResults.cursor
.
Esto te permite continuar la búsqueda a partir del último documento encontrado, como se muestra a continuación:
...
results = index.search(
search.Query(query_string='subject:first good',
options=search.QueryOptions(cursor=results.cursor)))
Constructor
El constructor para la clase Query
se define de la manera siguiente:
-
class Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)
Solicita al servicio de búsqueda que consulte un índice, en el que se especifiquen los parámetros para esa consulta.
Argumentos
- query_string
La consulta que permite la coincidencia respecto de los documentos del índice. Una consulta es una expresión booleana que contiene términos. Por ejemplo, la consulta job tag:"very important" sent < 2011-02-28
encuentra documentos con el término job
en cualquier campo y también contiene la frase very important
en un campo tag
y una fecha de sent
anterior al 28 de febrero de 2011.
- options
La creación de la instancia de la clase QueryOptions
con instrucciones para el procesamiento posterior de los resultados de la búsqueda.
- enable_facet_discovery
Habilita el descubrimiento de las facetas más relevantes utilizadas por los documentos que satisfacen esta consulta de búsqueda y muéstralos.
- return_facets
Un iterable de FacetRequest o basestring como nombre de faceta para mostrar la faceta específica con el resultado.
- facet_options
Una FacetOption que describe el procesamiento de las facetas.
- facet_refinements
Un iterable de objetos FacetRefinement o strings de token de perfeccionamiento que se utilizan para filtrar los resultados de la búsqueda en función de un valor de faceta.
El perfeccionamiento de la búsqueda de diferentes facetas se realiza en conjunción y el perfeccionamiento para la misma faceta se realiza en disyunción.
Valor del resultado
Una instancia nueva de la clase Query
.
Excepciones
- TypeError
Se genera cuando query_string
no es una string o options
no es un objeto QueryOptions
.
- ValueError
Se genera cuando no se pudo analizar query_string
.
Propiedades
Una instancia de la clase Query
tiene las propiedades siguientes:
- query_string
Muestra la string de consulta que se buscará en esta solicitud.
- options
Muestra los QueryOptions
procesamiento posterior que define los resultados de la búsqueda.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-04 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]