La classe QueryOptions

La classe QueryOptions fornisce opzioni per la post-elaborazione dei risultati delle query in base alle esigenze della tua applicazione. Costruisci la classe come options nell'argomento Query.options.

Query è definito nel modulo google.appengine.api.search.

Introduzione

La classe QueryOptions fornisce opzioni per la post-elaborazione dei risultati di una query specifica. Le opzioni includono la possibilità di ordinare i risultati, controllare quali campi dei documenti restituire, produrre snippet di campi nonché calcolare e ordinare i dati in base a complesse espressioni di punteggio.

Per accedere in modo casuale alle pagine dei risultati di ricerca, puoi utilizzare un offset:

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))

Ad esempio, il seguente frammento di codice richiede una ricerca di documenti in cui first si trova nel campo subject e good si verifica in qualsiasi campo, restituendo al massimo 20 documenti, richiedendo il cursore per la pagina successiva dei risultati, restituendo un altro cursore per il successivo insieme di risultati, ordinando per soggetto in ordine decrescente, restituendo i campi autore, oggetto e riepilogo, nonché i contenuti di un campo snippet:

...
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'])))

Costruttore

Il costruttore della classe QueryOptions viene definito come segue:

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_expression)

Specifica le opzioni che definiscono i risultati delle query di ricerca.

Argomenti

limite

Il limite al numero di documenti da restituire nei risultati.

number_found_accuracy

Il requisito minimo di precisione per SearchResults.number_found. Se impostato, il valore rimane preciso almeno fino a quel numero. Ad esempio, se impostato su 100, qualsiasi oggetto SearchResults con number_found_accuracy <= 100 è preciso.

cursore

Un cursore che descrive dove trovare il successivo insieme di risultati o per fornire i cursori successivi in SearchResults.

offset

L'offset rappresenta il numero di documenti da saltare nei risultati di ricerca. Questa è un'alternativa all'utilizzo di un cursore di query. Consente l'accesso casuale ai risultati. Gli offset sono più costosi (in termini di ore istanza) rispetto ai cursori. Puoi utilizzare il cursore o l'offset, ma non entrambi. L'utilizzo di un offset significa che in ScoredDocument.cursor o ScoredDocument.cursor non viene restituito alcun cursore.

sort_options

Un oggetto SortOptions che specifica un ordinamento multidimensionale sui risultati di ricerca.

returned_fields

Un'iterazione dei nomi dei campi da restituire nei risultati di ricerca.

ids_only

Restituisci solo gli ID documento, non restituire alcun campo.

snippeted_fields

Un'iterazione dei nomi dei campi da snippet e da restituire nelle espressioni dei risultati di ricerca.

returned_expressions

Un'iterazione di FieldExpression per valutare e restituire nei risultati di ricerca.

Valore risultato

Una nuova istanza della classe QueryOptions.

Eccezioni

TypeError

Se viene passato un valore iterator_options o sort_options sconosciuto.

ValueError

Se ids_only e returned_fields vengono utilizzati insieme.

Proprietà

Un'istanza della classe Query ha le seguenti proprietà:

limite

Restituisce un limite al numero di documenti da restituire nei risultati.

number_found_accuracy

Restituisce il requisito minimo di accuratezza per SearchResults.number_found.

cursore

Restituisce il cursore per la query.

offset

Restituisce il numero di documenti da saltare nei risultati di ricerca.

sort_options

Restituisce un oggetto SortOptions.

returned_fields

Restituisce un'iterazione dei nomi dei campi da restituire nei risultati di ricerca.

ids_only

Restituisce solo nei risultati di ricerca.

snippeted_fields

Restituisce iterabili di nomi di campi nello snippet e restituisce nei risultati.

returned_expressions

Restituisce l'iterazione di FieldExpression per la restituzione dei risultati.