Requête Firestore.
Les étapes de la requête sont exécutées dans l'ordre suivant: 1. à partir de 2. où 3. sélectionnez 4. orderBy + startAt + endAt 5. décalage 6. limite
Représentation JSON |
---|
{ "select": { object ( |
Champs | |
---|---|
select |
Sous-ensemble facultatif de champs à renvoyer. Il agit comme un |
from[] |
Collections à interroger. |
where |
Filtre à appliquer. |
orderBy[] |
Ordre à appliquer aux résultats de la requête. Firestore permet aux appelants de proposer un tri complet, un ordre partiel ou un ordre nul. Dans tous les cas, Firestore garantit un ordre stable grâce aux règles suivantes:
Les champs sont ajoutés avec le même sens de tri que le dernier ordre spécifié ou "ASCENDING" si aucun ordre n'a été spécifié. Exemple :
|
startAt |
Préfixe potentiel d'une position dans l'ensemble de résultats à laquelle la requête doit commencer. L'ordre de l'ensemble de résultats est basé sur la clause
Les résultats de cette requête sont classés par Les curseurs peuvent faire référence à l'ordre complet ou au préfixe du lieu, bien qu'ils ne puissent pas référencer plus de champs que le Pour reprendre l'exemple ci-dessus, l'association des curseurs de début suivants aura un impact variable:
Contrairement à Configuration requise:
|
endAt |
Préfixe potentiel d'une position dans l'ensemble de résultats à laquelle terminer la requête. Cette méthode est semblable à Configuration requise:
|
offset |
Nombre de documents à ignorer avant de renvoyer le premier résultat. Cela s'applique après les contraintes spécifiées par Configuration requise:
|
limit |
Nombre maximal de résultats à renvoyer. S'applique après toutes les autres contraintes. Configuration requise:
|
findNearest |
Facultatif. Recherche des voisins les plus proches possible. S'applique après tous les autres filtres et tris. Recherche les représentations vectorielles continues les plus proches du vecteur de requête donné. |
Projection
Projection des champs du document à renvoyer.
Représentation JSON |
---|
{
"fields": [
{
object ( |
Champs | |
---|---|
fields[] |
Champs à renvoyer. Si ce champ est vide, tous les champs sont renvoyés. Pour ne renvoyer que le nom du document, utilisez |
CollectionSelector
Sélection d'une collection, par exemple messages as m1
.
Représentation JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Champs | |
---|---|
collectionId |
ID de collection. Lorsque cet ID est défini, cette option permet de ne sélectionner que les collections associées à cet ID. |
allDescendants |
Si la valeur est "false", sélectionne uniquement les collections qui sont des enfants immédiats de l'élément |
Filtre
Un filtre.
Représentation JSON |
---|
{ // Union field |
Champs | |
---|---|
Champ d'union filter_type . Type de filtre. filter_type ne peut être qu'un des éléments suivants : |
|
compositeFilter |
Filtre composite : |
fieldFilter |
Filtre appliqué à un champ de document. |
unaryFilter |
Un filtre qui accepte exactement un argument. |
CompositeFilter
Filtre qui fusionne plusieurs autres filtres à l'aide de l'opérateur donné.
Représentation JSON |
---|
{ "op": enum ( |
Champs | |
---|---|
op |
Opérateur permettant de combiner plusieurs filtres. |
filters[] |
Liste des filtres à combiner. Configuration requise:
|
Opérateur
Opérateur de filtre composite.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
URL indéterminée. Cette valeur ne doit pas être utilisée. |
AND |
Ils sont obligatoires pour tous les filtres combinés. |
OR |
Les documents doivent correspondre à au moins l'un des filtres combinés. |
FieldFilter
Filtre appliqué à un champ spécifique.
Représentation JSON |
---|
{ "field": { object ( |
Champs | |
---|---|
field |
Champ selon lequel filtrer. |
op |
Opérateur utilisé pour le filtrage. |
value |
Valeur à laquelle comparer. |
Opérateur
Opérateur de filtrage de champ.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
URL indéterminée. Cette valeur ne doit pas être utilisée. |
LESS_THAN |
La valeur Configuration requise:
|
LESS_THAN_OR_EQUAL |
La valeur Configuration requise:
|
GREATER_THAN |
La valeur Configuration requise:
|
GREATER_THAN_OR_EQUAL |
La valeur Configuration requise:
|
EQUAL |
La valeur field donnée est égale à la valeur value indiquée. |
NOT_EQUAL |
La valeur Configuration requise:
|
ARRAY_CONTAINS |
L'élément field indiqué est un tableau contenant l'élément value indiqué. |
IN |
Le Configuration requise:
|
ARRAY_CONTAINS_ANY |
La valeur Configuration requise:
|
NOT_IN |
La valeur de Configuration requise:
|
UnaryFilter
Filtre avec un seul opérande.
Représentation JSON |
---|
{ "op": enum ( |
Champs | |
---|---|
op |
Opérateur unaire à appliquer. |
Champ d'union operand_type . Argument du filtre. operand_type ne peut être qu'un des éléments suivants : |
|
field |
Champ auquel appliquer l'opérateur. |
Opérateur
Opérateur unaire.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
URL indéterminée. Cette valeur ne doit pas être utilisée. |
IS_NAN |
La valeur field donnée est égale à NaN . |
IS_NULL |
La valeur field donnée est égale à NULL . |
IS_NOT_NAN |
La valeur Configuration requise:
|
IS_NOT_NULL |
La valeur Configuration requise:
|
Commande
Commande sur un champ.
Représentation JSON |
---|
{ "field": { object ( |
Champs | |
---|---|
field |
Champ selon lequel trier. |
direction |
Sens de tri. La valeur par défaut est |
Sens
Ordre de tri.
Enums | |
---|---|
DIRECTION_UNSPECIFIED |
URL indéterminée. |
ASCENDING |
Croissant. |
DESCENDING |
Décroissant. |
FindNearest
Configuration de la recherche des voisins les plus proches.
Représentation JSON |
---|
{ "vectorField": { object ( |
Champs | |
---|---|
vectorField |
Obligatoire. Champ de vecteur indexé à rechercher. Seuls les documents contenant des vecteurs dont la dimensionnalité correspond à queryVector peuvent être renvoyés. |
queryVector |
Obligatoire. Vecteur de requête que nous recherchons. La valeur doit être un vecteur de 2 048 dimensions au maximum. |
distanceMeasure |
Obligatoire. Veuillez indiquer la mesure de distance à utiliser. |
limit |
Obligatoire. Nombre de voisins les plus proches à renvoyer. La valeur doit être un entier positif inférieur ou égal à 1 000. |
DistanceMeasure
Mesure de distance à utiliser pour comparer des vecteurs.
Enums | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Ne doit pas être défini. |
EUCLIDEAN |
Mesure la distance EUCLIDEAN entre les vecteurs. Pour en savoir plus, consultez la page Euclidienne |
COSINE |
Compare des vecteurs en fonction de l'angle qui les sépare, ce qui vous permet de mesurer la similarité qui n'est pas basée sur l'ampleur des vecteurs. Nous vous recommandons d'utiliser DOT_PRODUCT avec des vecteurs normalisés unitaires plutôt que la distance COSINE, qui est mathématiquement équivalente avec de meilleures performances. Pour en savoir plus, consultez la page Similarité cosinus. |
DOT_PRODUCT |
Semblable au cosinus, mais il est affecté par l'amplitude des vecteurs. Pour en savoir plus, consultez la page Dot Product. |