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 termojob
em qualquer campo e também contém a frasevery important
em um campotag
e uma datasent
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 ouoptions
não é um objetoQueryOptions
.- 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.