A classe Query
representa um pedido no serviço de pesquisa para consultar o índice.
Query
está definido no módulo google.appengine.api.search
.
Introdução
A classe Query
permite-lhe especificar uma string de consulta e outras opções, como a ordem de
ordenação, o limite e um cursor, para uma pesquisa num índice. Define estas opções ao instanciar a classe QueryOptions
para o parâmetro Query.options
.
Por exemplo, o seguinte fragmento de código pede uma pesquisa de documentos em que first
ocorre no assunto e good
ocorre em qualquer lugar, devolvendo, no máximo, 20 documentos, devolvendo
um único cursor de documento para os resultados, ordenando por assunto por ordem decrescente, devolvendo os
campos de autor, assunto e resumo, bem como o conteúdo de um campo com fragmentos.
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']))) ...
Tem a opção de devolver um cursor com cada conjunto de resultados da pesquisa. Este cursor permite-lhe
navegar mais facilmente pelas páginas dos resultados da pesquisa. Para obter um cursor, especifique-o em QueryOptions.cursor
e extraia o cursor para o pedido seguinte de SearchResults.cursor
.
Isto permite-lhe continuar a pesquisa a partir 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 forma:
-
class Query(query_string, options=None, enable_facet_discovery=False, return_facets=None, facet_options=None, facet_refinements=None)
Pedir ao serviço de pesquisa para consultar um índice, especificando parâmetros para essa consulta.
Argumentos
- query_string
A consulta para fazer a correspondência com 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 expressãovery important
num campotag
e uma datasent
anterior a 28 de fevereiro de 2011.- options
Instanciação da classe
QueryOptions
com instruções para o pós-processamento dos resultados da pesquisa.- enable_facet_discovery
Ativar a descoberta das facetas mais relevantes usadas pelos documentos que satisfazem esta consulta de pesquisa e devolvê-las.
- return_facets
Um iterável de FacetRequest ou basestring como nome da faceta para devolver uma faceta específica com o resultado.
- facet_options
Um FacetOption que descreve o processamento de facetas.
- facet_refinements
Um iterável de objetos FacetRefinement ou strings de tokens de refinamento usados para filtrar os resultados da pesquisa com base num valor de faceta. Os refinamentos para diferentes facetas são conjunções e os refinamentos para a mesma faceta são disjunções.
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 não foi possível analisar o
query_string
.
Propriedades
Uma instância da classe
Query
tem as seguintes propriedades:- query_string
Devolve a string de consulta para pesquisar neste pedido.
- options
Devolve o
QueryOptions
que define o pós-processamento dos resultados da pesquisa.