Una query Firestore.
Le fasi di query vengono eseguite nel seguente ordine: 1. da 2. dove 3. selezionare 4. orderBy + startAt + endAt 5. offset 6. limite
Rappresentazione JSON |
---|
{ "select": { object ( |
Campi | |
---|---|
select |
Sottoinsieme facoltativo dei campi da restituire. Agisce come |
from[] |
Le raccolte su cui eseguire una query. |
where |
Il filtro da applicare. |
orderBy[] |
L'ordine da applicare ai risultati della query. Firestore consente ai chiamanti di fornire un ordinamento completo, parziale o nessun ordinamento. In tutti i casi, Firestore garantisce un ordinamento stabile tramite le seguenti regole:
Ai campi viene aggiunta la stessa direzione di ordinamento dell'ultimo ordine specificato, oppure "ASCENDENTE" se non è stato specificato alcun ordine. Ad esempio:
|
startAt |
Un potenziale prefisso di una posizione nel set di risultati da cui iniziare la query. L'ordine del set di risultati si basa sulla clausola
I risultati di questa query sono ordinati per I cursori possono fare riferimento all'ordine completo o a un prefisso della posizione, anche se non possono fare riferimento a più campi rispetto a quelli dell'elemento Proseguendo con l'esempio precedente, l'aggiunta dei seguenti cursori di avvio avrà un impatto diverso:
A differenza di Richiede:
|
endAt |
Un potenziale prefisso di una posizione nel set di risultati in cui terminare la query. È simile a Richiede:
|
offset |
Il numero di documenti da saltare prima di restituire il primo risultato. Questo si applica dopo i vincoli specificati da Richiede:
|
limit |
Il numero massimo di risultati da restituire. Si applica dopo tutti gli altri vincoli. Richiede:
|
findNearest |
Campo facoltativo. Una potenziale ricerca di vicini più vicini. Si applica dopo tutti gli altri filtri e ordine. Trova gli incorporamenti vettoriali più vicini al vettore di query specificato. |
Projection
La proiezione dei campi del documento da restituire.
Rappresentazione JSON |
---|
{
"fields": [
{
object ( |
Campi | |
---|---|
fields[] |
I campi da restituire. Se è vuoto, vengono restituiti tutti i campi. Per restituire solo il nome del documento, utilizza |
CollectionSelector
Una selezione di una raccolta, ad esempio messages as m1
.
Rappresentazione JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Campi | |
---|---|
collectionId |
L'ID raccolta. Se impostato, vengono selezionate solo le collezioni con questo ID. |
allDescendants |
Quando il valore è false, vengono selezionate solo le raccolte che sono elementi secondari immediati del valore di |
Filtro
Un filtro.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo di unione filter_type . Il tipo di filtro. filter_type può essere solo uno dei seguenti: |
|
compositeFilter |
Un filtro composto. |
fieldFilter |
Un filtro su un campo documento. |
unaryFilter |
Un filtro che accetta esattamente un argomento. |
CompositeFilter
Un filtro che unisce più filtri utilizzando l'operatore specificato.
Rappresentazione JSON |
---|
{ "op": enum ( |
Campi | |
---|---|
op |
L'operatore per combinare più filtri. |
filters[] |
L'elenco di filtri da combinare. Richiede:
|
Operatore
Un operatore di filtro composto.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
AND |
I documenti devono soddisfare tutti i filtri combinati. |
OR |
I documenti devono soddisfare almeno uno dei filtri combinati. |
FieldFilter
Un filtro su un campo specifico.
Rappresentazione JSON |
---|
{ "field": { object ( |
Campi | |
---|---|
field |
Il campo in base al quale applicare il filtro. |
op |
L'operatore in base al quale applicare il filtro. |
value |
Il valore con cui eseguire il confronto. |
Operatore
Un operatore di filtro di campo.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
LESS_THAN |
Il valore Richiede:
|
LESS_THAN_OR_EQUAL |
Il valore Richiede:
|
GREATER_THAN |
Il valore Richiede:
|
GREATER_THAN_OR_EQUAL |
Il valore Richiede:
|
EQUAL |
Il valore field specificato è uguale al valore value specificato. |
NOT_EQUAL |
Il valore Richiede:
|
ARRAY_CONTAINS |
Il valore field specificato è un array che contiene il valore value specificato. |
IN |
Il valore Richiede:
|
ARRAY_CONTAINS_ANY |
Il valore Richiede:
|
NOT_IN |
Il valore di Richiede:
|
UnaryFilter
Un filtro con un singolo operando.
Rappresentazione JSON |
---|
{ "op": enum ( |
Campi | |
---|---|
op |
L'operatore unario da applicare. |
Campo di unione operand_type . L'argomento del filtro. operand_type può essere solo uno dei seguenti: |
|
field |
Il campo a cui applicare l'operatore. |
Operatore
Un operatore unario.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Non specificato. Questo valore non deve essere utilizzato. |
IS_NAN |
Il valore field specificato è uguale a NaN . |
IS_NULL |
Il valore field specificato è uguale a NULL . |
IS_NOT_NAN |
Il valore Richiede:
|
IS_NOT_NULL |
Il valore Richiede:
|
Ordine
Un ordine in un campo.
Rappresentazione JSON |
---|
{ "field": { object ( |
Campi | |
---|---|
field |
Il campo in base al quale ordinare. |
direction |
La direzione in base alla quale ordinare. Il valore predefinito è |
Direzione
Una direzione di ordinamento.
Enum | |
---|---|
DIRECTION_UNSPECIFIED |
Non specificato. |
ASCENDING |
Crescente. |
DESCENDING |
Decrescente. |
FindNearest
Configurazione di ricerca dei vicini più vicini.
Rappresentazione JSON |
---|
{ "vectorField": { object ( |
Campi | |
---|---|
vectorField |
obbligatorio. Un campo del vettore indicizzato in cui eseguire la ricerca. È possibile restituire solo i documenti che contengono vettori la cui dimensionalità corrisponde a queryVector. |
queryVector |
obbligatorio. Il vettore di query su cui stiamo effettuando la ricerca. Deve essere un vettore di massimo 2048 dimensioni. |
distanceMeasure |
obbligatorio. La misurazione della distanza da utilizzare, obbligatoria. |
limit |
obbligatorio. Il numero di vicini più prossimi da restituire. Deve essere un numero intero positivo non superiore a 1000. |
DistanceMeasure
La misurazione della distanza da utilizzare per il confronto dei vettori.
Enum | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Non deve essere impostato. |
EUCLIDEAN |
Misura la distanza EUCLIDEAN tra i vettori. Per scoprire di più, vedi la sezione euclidea |
COSINE |
Confronta i vettori in base all'angolo tra loro, consentendoti di misurare la somiglianza non basata sulla grandezza dei vettori. Consigliamo di utilizzare DOT_PRODUCT con vettori normalizzati unitari anziché la distanza COSINE, che è matematicamente equivalente con prestazioni migliori. Per scoprire di più, consulta la sezione Cosine Similarity. |
DOT_PRODUCT |
Simile al coseno, ma è influenzato dalla grandezza dei vettori. Per saperne di più, consulta la sezione Prodotto punto. |