A classe QueryOptions
fornece opções para o pós-processamento dos resultados da consulta com base nas necessidades do seu aplicativo. Crie a classe como options
no argumento Query.options.
Query
é definido no módulo google.appengine.api.search
.
Introdução
A classe QueryOptions
fornece opções para o pós-processamento dos resultados de uma consulta específica. As opções incluem a capacidade de classificar resultados, controlar quais campos do documento retornar, produzir snippets de campos e calcular e classificar por expressões de pontuação complexas.
Se você quer acessar aleatoriamente páginas de resultados de pesquisa, use um desvio:
from google.appengine.api import search ... # get the first set of results page_size = 10 results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(limit=page_size)) # calculate pages pages = results.number_found / page_size # user chooses page and hence an offset into results next_page = ith * page_size # get the search results for that page results = index.search(search.Query(query_string='some stuff', options=search.QueryOptions(limit=page_size, offset=next_page))
Por exemplo, o fragmento de código a seguir solicita uma pesquisa de documentos em que first
ocorre no campo subject
e good
ocorre em qualquer campo, retornando no máximo 20 documentos, solicitando o cursor para a próxima página de resultados, retornando outro cursor para o próximo conjunto de resultados, classificando por assunto em ordem decrescente, retornando o autor, assunto e resumo, bem como um conteúdo de campo com snippets:
... results = index.search(search.Query( query='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'])))
Construtor
O construtor da classe QueryOptions
é definido da seguinte maneira:
-
class QueryOptions(limit=20, number_found_accuracy=None, cursor=None, offset=None, sort_options=None, returned_fields=None, ids_only=False, snippeted_fields=None, returned_expressions=None)
Especifique as opções que definem os resultados da consulta de pesquisa.
-
Argumentos
- limit
O limite do número de documentos a retornar nos resultados.
- number_found_accuracy
O requisito de precisão mínima para
SearchResults.number_found
. Se definido, permanece preciso até pelo menos esse número. Por exemplo, quando definido como 100, qualquer objetoSearchResults
comnumber_found_accuracy
menor ou igual a 100 é preciso.- cursor
Um cursor que descreve onde conseguir o próximo conjunto de resultados ou fornecer os próximos cursores em SearchResults.
- offset
O desvio representa o número de documentos a serem ignorados nos resultados da pesquisa. Essa é uma alternativa ao uso de um cursor de consulta. Permite acesso aleatório aos resultados. Os desvios são mais caros do que os cursores em termos de horas de instância. É possível usar cursor ou desvio, mas não ambos. O uso de um desvio significa que nenhum cursor é retornado em
ScoredDocument.cursor
ouScoredDocument.cursor
.- sort_options
Um objeto
SortOptions
especifica uma classificação multidimensional sobre os resultados da pesquisa.- returned_fields
Um iterável de nomes de campos para retornar nos resultados da pesquisa.
- ids_only
Retorna apenas códigos de documentos, não retorna nenhum campo.
- snippeted_fields
Um iterável de nomes de campos para criar um snippet e retornar em expressões de resultado de pesquisa.
- returned_expressions
Um iterável de FieldExpression a avaliar e retornar nos resultados da pesquisa.
Valor do resultado
Uma nova instância da classe
QueryOptions
.
Exceções
- TypeError
Se um iterator_options ou sort_options desconhecido for passado.
- ValueError
Se
ids_only
ereturned_fields
forem usados juntos.
Propriedades
Uma instância da classe Query
tem as seguintes propriedades:
- limit
Retorna um limite no número de documentos a retornar nos resultados.
- number_found_accuracy
Retorna o requisito de precisão mínima de SearchResults.number_found.
- cursor
Retorna o cursor da consulta.
- offset
Retorna o número de documentos nos resultados da pesquisa que serão ignorados.
- sort_options
Retorna um objeto SortOptions.
- returned_fields
Retorna um iterável de nomes de campos a retornar nos resultados da pesquisa.
- ids_only
Apenas retorna
- snippeted_fields
Retorna um iterável de nomes de campos a transformar em snippet e retornar nos resultados.
- returned_expressions
Retorna um iterável de FieldExpression que será exibido nos resultados.