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 il post-trattamento dei risultati di una query specifica. Le opzioni includono la possibilità di ordinare i risultati, controllare i campi del documento da restituire, produrre 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 la ricerca di documenti in cui first
si verifica nel campo subject
e good
si verifica in qualsiasi campo, restituisce al massimo 20 documenti, richiede il cursore per la pagina successiva dei risultati, restituisce un altro cursore per il set di risultati successivo, ordina in ordine decrescente per argomento, restituisce i campi autore, argomento e riepilogo, nonché i contenuti del campo con 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
è 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_expressions=None)
Specifica le opzioni che definiscono i risultati della query di ricerca.
-
Argomenti
- limit
Il limite di documenti da restituire nei risultati.
- number_found_accuracy
Il requisito di precisione minima per
SearchResults.number_found
. Se impostato, rimane preciso fino ad almeno quel numero. Ad esempio, se impostato su 100, qualsiasi oggettoSearchResults
connumber_found_accuracy
<= 100 è accurato.- cursor
Un cursore che descrive dove recuperare l'insieme di risultati successivo o per fornire i cursori successivi in SearchResults.
- offset
L'offset rappresenta il numero di documenti da saltare nei risultati di ricerca. Si tratta di un'alternativa all'utilizzo di un cursore di query. Consente l'accesso casuale ai risultati. Gli offset sono più costosi (in termini di ore di istanza) rispetto ai cursori. Puoi utilizzare cursor o 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 dei risultati di ricerca.- returned_fields
Un insieme di nomi di campi da restituire nei risultati di ricerca.
- ids_only
Restituisce solo gli ID documento, non restituisce alcun campo.
- snippeted_fields
Un iterable di nomi di campi da snippetizzare e restituire nelle espressioni dei risultati di ricerca.
- returned_expressions
Un iterable 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 sort_options sconosciuto.
- ValueError
Se
ids_only
ereturned_fields
vengono utilizzati insieme.
Proprietà
Un'istanza della classe Query
ha le seguenti proprietà:
- limit
Restituisce un limite al numero di documenti da restituire nei risultati.
- number_found_accuracy
Restituisce il requisito di accuratezza minima per SearchResults.number_found.
- cursor
Restituisce il cursore per la query.
- offset
Restituisce il numero di documenti nei risultati di ricerca da saltare.
- sort_options
Restituisce un oggetto SortOptions.
- returned_fields
Restituisce un insieme iterabile di nomi di campi da restituire nei risultati di ricerca.
- ids_only
Restituisce solo
- snippeted_fields
Restituisce un insieme di nomi di campi allo snippet e restituisce i risultati.
- returned_expressions
Restituisce un oggetto iterabile di FieldExpression da restituire nei risultati.