La classe Query
rappresenta una richiesta al servizio di ricerca di eseguire una query sull'indice.
Query
è definito nel modulo google.appengine.api.search
.
Introduzione
La classe Query
consente di specificare una stringa di query e altre opzioni, come l'ordinamento
ordine, limite e cursore per una ricerca su un indice. Puoi impostare queste opzioni creando un'istanza del valore
QueryOptions
classe al
Query.options
.
Ad esempio, il seguente frammento di codice richiede una ricerca di documenti in cui first
si verifica nell'oggetto e good
si verifica ovunque, restituendo al massimo 20 documenti, restituendo
un singolo cursore del documento per visualizzare i risultati, ordinando i risultati per soggetto in ordine decrescente, restituendo il valore
campi relativi all'autore, all'oggetto e al riepilogo, nonché i contenuti dei campi snippet.
from google.appengine.api import search ... results = index.search(search.Query( # Specify the query string using the Search API's Query language. query_string='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']))) ...
Puoi scegliere di restituire un cursore con ogni insieme di risultati di ricerca. Questo cursore ti consente
sfogliare più facilmente i risultati di ricerca. Per ottenere un cursore, specificalo in
QueryOptions.cursor
ed estrai il cursore per
la prossima richiesta da parte di SearchResults.cursor
.
In questo modo puoi continuare la ricerca dall'ultimo documento trovato, come mostrato di seguito:
... results = index.search( search.Query(query_string='subject:first good', options=search.QueryOptions(cursor=results.cursor)))
Costruttore
Il costruttore per la classe Query
è definito come segue:
-
class Query(query_string, options=None, allow_facet_discovery=False, Return_facets=None, facet_options=Nessuno, facet_refinements=None)
Richiedi al servizio di ricerca di eseguire una query su un indice, specificando i parametri per la query.
Argomenti
- query_string
La query per trovare una corrispondenza con i documenti nell'indice. Una query è un'espressione booleana che contiene dei termini. Ad esempio, la query
job tag:"very important" sent < 2011-02-28
trova documenti con il terminejob
in qualsiasi campo e contiene anche la frasevery important
in un campotag
e una datasent
precedente al 28 febbraio 2011.- opzioni
Creazione di un'istanza della classe
QueryOptions
con istruzioni per la post-elaborazione dei risultati di ricerca.- enable_facet_discovery
Abilita il rilevamento dei facet più pertinenti utilizzati dai documenti che soddisfano questa query di ricerca e restituirlo.
- return_facets
Un iterabile di FacetRequest o basestring come nome del facet in per restituire un facet specifico con il risultato.
- facet_options
Una FacetOption che descrive l'elaborazione dei facet.
- facet_refinements
Un iterabile di oggetti o perfezionamento FacetRefinement stringhe di token utilizzate per filtrare i risultati di ricerca in base a un valore facet. i perfezionamenti per i diversi facet verranno congiuntamente e i perfezionamenti per la stessa facet sarà la disgiunzione.
Valore del risultato
Una nuova istanza della classe
Query
.
Eccezioni
- TypeError
Aumentato quando
query_string
non è una stringa ooptions
non è un oggettoQueryOptions
.- ValueError
Aumentato quando non è stato possibile analizzare
query_string
.
Proprietà
Un'istanza della classe
Query
ha le seguenti proprietà:- query_string
Restituisce la stringa di query per cercare in questa richiesta.
- opzioni
Restituisce il valore
QueryOptions
che definisce la post-elaborazione dei risultati di ricerca.