La classe QueryOptions
offre opzioni per la post-elaborazione dei risultati delle query in base alle esigenze della tua applicazione. La classe viene creata come options
nell'argomento Query.options.
Query
è definito nel modulo google.appengine.api.search
.
Introduzione
La classe QueryOptions
offre 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, generare snippet di campi e calcolare e ordinare in base a espressioni di punteggio complesse.
Se vuoi 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
è presente in qualsiasi campo, restituendo al massimo 20 documenti, richiedendo il cursore per la pagina successiva di risultati, restituendo un altro cursore per il set di risultati successivo, ordinamento per soggetto in ordine decrescente, restituendo l'autore, l'oggetto e i campi di riepilogo, nonché il contenuto 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 per la classe QueryOptions
è 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 relativo al numero di documenti da restituire nei risultati.
- number_found_accuracy
Il requisito di accuratezza minimo per
SearchResults.number_found
. Se impostato, rimane preciso fino ad almeno quel numero. Ad esempio, se impostato su 100, tutti gli oggettiSearchResults
connumber_found_accuracy
<= 100 sono precisi.- cursore
Un cursore che descrive dove ottenere il set di risultati successivo o per fornire i cursori successivi nei risultati della ricerca.
- offset
L'offset rappresenta il numero di documenti da saltare nei risultati della ricerca. Questa è un'alternativa all'utilizzo di un cursore di query. Consente un accesso casuale ai risultati. Gli offset sono più costosi (in termini di ore di istanza) rispetto ai cursori. Puoi utilizzare il cursore o l'offset, ma non entrambi. L'utilizzo di un offset significa che non viene restituito alcun cursore in
ScoredDocument.cursor
oScoredDocument.cursor
.- sort_options
Un oggetto
SortOptions
che specifica un ordinamento multidimensionale sui risultati di ricerca.- returned_fields
Un numero infinito di nomi dei campi da restituire nei risultati di ricerca.
- ids_only
Restituisci solo gli ID documento, non restituire alcun campo.
- snippeted_fields
Un elenco ciclico di nomi dei campi da includere nello snippet e restituire nelle espressioni dei risultati di ricerca.
- returned_expressions
Un iterabile di FieldExpression da valutare e restituire nei risultati di ricerca.
Valore del risultato
Una nuova istanza della classe
QueryOptions
.
Eccezioni
- TypeError
Se viene passato un iterator_options o un sort_options sconosciuto.
- ValueError
Se
ids_only
ereturned_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 di accuratezza minima per SearchResults.number_found.
- cursore
Restituisce il cursore della query.
- offset
Restituisce il numero di documenti da saltare nei risultati della ricerca.
- sort_options
Restituisce un oggetto SortOptions.
- returned_fields
Restituisce alcuni nomi dei campi da restituire nei risultati di ricerca.
- ids_only
Restituisce solo
- snippeted_fields
Restituisce iterabili di nomi di campi nello snippet e nella restituzione dei risultati.
- returned_expressions
Restituisce l'iterabile di FieldExpression per restituire i risultati.