A classe QueryOptions

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 objeto SearchResults com number_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 ou ScoredDocument.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 e returned_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 nos resultados da pesquisa.

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.