La classe QueryOptions fornisce opzioni per l'elaborazione post-query dei risultati 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 del documento 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 una ricerca di documenti in cui first si trova nel campo subject e good si trova 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 oggetto in ordine decrescente, restituendo i campi autore, oggetto e riepilogo, nonché un contenuto del 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 è 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
- limite
Il limite al numero di documenti da restituire nei risultati.
- number_found_accuracy
Il requisito di precisione minimo per
SearchResults.number_found. Se impostato, rimane preciso almeno fino a quel numero. Ad esempio, se impostato su 100, qualsiasi oggettoSearchResultsconnumber_found_accuracy<= 100 è accurato.- cursore
Un cursore che descrive dove ottenere il successivo insieme di risultati o per fornire i cursori successivi in SearchResults.
- offset
L'offset rappresenta il numero di documenti da ignorare 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 il cursore o l'offset, ma non entrambi. L'utilizzo di un offset significa che non viene restituito alcun cursore in
ScoredDocument.cursoroScoredDocument.cursor.- sort_options
Un oggetto
SortOptionsche specifica un ordinamento multidimensionale dei risultati di ricerca.- returned_fields
Un iterabile di nomi di campi da restituire nei risultati di ricerca.
- ids_only
Restituisci solo gli ID documento, non restituire alcun campo.
- snippeted_fields
Un iterabile di nomi di campi da 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 vengono passate opzioni iterator_options o sort_options sconosciute.
- ValueError
Se
ids_onlyereturned_fieldsvengono 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 minimo per SearchResults.number_found.
- cursore
Restituisce il cursore per la query.
- offset
Restituisce il numero di documenti nei risultati di ricerca da ignorare.
- sort_options
Restituisce un oggetto SortOptions.
- returned_fields
Restituisce un iterabile di nomi di campi da restituire nei risultati di ricerca.
- ids_only
Restituisce solo
nei risultati di ricerca.- snippeted_fields
Restituisce un iterabile di nomi di campi da inserire nello snippet e restituire nei risultati.
- returned_expressions
Restituisce un iterabile di FieldExpression da restituire nei risultati.