A classe QueryOptions
oferece opções para o pós-processamento dos resultados da consulta com base nas necessidades da sua aplicação. Constrói a classe como o options
no argumento Query.options.
Query
está definido no módulo google.appengine.api.search
.
Introdução
A classe QueryOptions
oferece opções para o pós-processamento dos resultados de uma consulta específica. As opções incluem a capacidade de ordenar os resultados, controlar os campos de documentos a devolver, produzir fragmentos de campos e calcular e ordenar por expressões de pontuação complexas.
Se quiser aceder aleatoriamente a páginas de resultados da pesquisa, pode usar um deslocamento:
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 seguinte fragmento de código pede uma pesquisa de documentos em que first
ocorre no campo subject
e good
ocorre em qualquer campo, devolvendo, no máximo, 20 documentos, pedindo o cursor para a página seguinte de resultados, devolvendo outro cursor para o conjunto seguinte de resultados, ordenando por assunto por ordem descendente, devolvendo os campos autor, assunto e resumo, bem como o conteúdo de um campo com fragmentos:
... 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 forma:
-
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 opções que definem os resultados da consulta de pesquisa.
-
Argumentos
- limit
O limite do número de documentos a devolver nos resultados.
- number_found_accuracy
O requisito de precisão mínimo para
SearchResults.number_found
. Se estiver definido, permanece preciso até, pelo menos, esse número. Por exemplo, quando definido como 100, qualquer objetoSearchResults
comnumber_found_accuracy
<= 100 é preciso.- cursor
Um cursor que descreve onde obter o conjunto de resultados seguinte ou fornecer os cursores seguintes em SearchResults.
- offset
O deslocamento representa o número de documentos a ignorar nos resultados da pesquisa. Esta é uma alternativa à utilização de um cursor de consulta. Permite o acesso aleatório aos resultados. Os deslocamentos são mais caros (em termos de horas de instância) do que os cursores. Pode usar o cursor ou o deslocamento, mas não ambos. A utilização de um deslocamento significa que não é devolvido nenhum cursor em
ScoredDocument.cursor
ouScoredDocument.cursor
.- sort_options
Um objeto
SortOptions
que especifica uma ordenação multidimensional nos resultados da pesquisa.- returned_fields
Um iterável de nomes de campos a devolver nos resultados da pesquisa.
- ids_only
Devolve apenas IDs de documentos e não devolve campos.
- snippeted_fields
Um iterável de nomes de campos para criar fragmentos e devolver em expressões de resultados da pesquisa.
- returned_expressions
Um iterável de FieldExpression para avaliar e devolver nos resultados da pesquisa.
Valor do resultado
Uma nova instância da classe
QueryOptions
.
Exceções
- TypeError
Se for transmitido um iterator_options ou um sort_options desconhecido.
- ValueError
Se
ids_only
ereturned_fields
forem usados em conjunto.
Propriedades
Uma instância da classe Query
tem as seguintes propriedades:
- limit
Devolve um limite do número de documentos a devolver nos resultados.
- number_found_accuracy
Devolve o requisito de precisão mínimo para SearchResults.number_found.
- cursor
Devolve o cursor para a consulta.
- offset
Devolve o número de documentos nos resultados da pesquisa a ignorar.
- sort_options
Devolve um objeto SortOptions.
- returned_fields
Devolve um iterável de nomes de campos a devolver nos resultados da pesquisa.
- ids_only
Devolve apenas
- snippeted_fields
Devolve um iterável de nomes de campos para o fragmento e devolve-o nos resultados.
- returned_expressions
Devolve um iterável de FieldExpression a devolver nos resultados.