Eine Firestore-Abfrage.
Die Abfragephasen werden in der folgenden Reihenfolge ausgeführt: 1. von 2. wobei 3. 4. orderBy + startAt + endAt 5. offset 6. limit auswählen
JSON-Darstellung |
---|
{ "select": { object ( |
Felder | |
---|---|
select |
Optionale Teilmenge der zurückzugebenden Felder. Sie dient als |
from[] |
Die abzufragenden Sammlungen. |
where |
Der Filter, der angewendet werden soll. |
orderBy[] |
Die Reihenfolge, die auf die Abfrageergebnisse angewendet werden soll. Mit Firestore können Aufrufer eine vollständige, teilweise oder gar keine Sortierung angeben. In allen Fällen garantiert Firestore eine stabile Reihenfolge anhand der folgenden Regeln:
Die Felder werden mit derselben Sortierrichtung wie die zuletzt angegebene Reihenfolge oder „ASCENDING“ angehängt, wenn keine Reihenfolge angegeben wurde. Beispiel:
|
startAt |
Ein potenzielles Präfix einer Position in der Ergebnismenge, an der die Abfrage gestartet werden soll. Die Reihenfolge der Ergebnisse basiert auf der
Die Ergebnisse dieser Abfrage sind nach Cursor können entweder auf die vollständige Reihenfolge oder ein Präfix des Standorts verweisen. Es können jedoch nicht mehr Felder als im angegebenen Ausgehend vom obigen Beispiel hat das Anhängen der folgenden Startcursor unterschiedliche Auswirkungen:
Im Gegensatz zu Benötigt:
|
endAt |
Ein potenzielles Präfix einer Position im Ergebnissatz, bei der die Abfrage beendet werden soll. Dies ist ähnlich wie Benötigt:
|
offset |
Die Anzahl der Dokumente, die übersprungen werden sollen, bevor das erste Ergebnis zurückgegeben wird. Dies gilt nach den von Benötigt:
|
limit |
Die maximale Anzahl von zurückzugebenden Ergebnissen. Wird nach allen anderen Einschränkungen angewendet. Benötigt:
|
findNearest |
Optional. Eine potenzielle Suche nach den nächstgelegenen Nachbarn. Wird nach allen anderen Filtern und Sortierungen angewendet. Findet die Vektoreinbettungen, die dem angegebenen Abfragevektor am nächsten sind. |
Projektion
Die Projektion der zurückzugebenden Felder des Dokuments.
JSON-Darstellung |
---|
{
"fields": [
{
object ( |
Felder | |
---|---|
fields[] |
Die zurückzugebenden Felder. Wenn leer, werden alle Felder zurückgegeben. Um nur den Namen des Dokuments zurückzugeben, verwenden Sie |
CollectionSelector
Eine Auswahl aus einer Sammlung, z. B. messages as m1
.
JSON-Darstellung |
---|
{ "collectionId": string, "allDescendants": boolean } |
Felder | |
---|---|
collectionId |
Die Sammlungs-ID. Wenn festgelegt, werden nur Sammlungen mit dieser ID ausgewählt. |
allDescendants |
Bei „false“ werden nur Sammlungen ausgewählt, die der |
Filtern
Ein Filter.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld filter_type . Der Typ des Filters. Für filter_type ist nur einer der folgenden Werte zulässig: |
|
compositeFilter |
Zusammengesetzter Filter |
fieldFilter |
Ein Filter für ein Dokumentfeld. |
unaryFilter |
Ein Filter, der genau ein Argument annimmt. |
CompositeFilter
Ein Filter, der mehrere andere Filter mithilfe des angegebenen Operators zusammenführt.
JSON-Darstellung |
---|
{ "op": enum ( |
Felder | |
---|---|
op |
Der Operator zum Kombinieren mehrerer Filter. |
filters[] |
Die Liste der zu kombinierenden Filter. Benötigt:
|
Operator
Operator für zusammengesetzte Filter
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Nicht angegeben Dieser Wert darf nicht verwendet werden. |
AND |
Dokumente müssen allen kombinierten Filtern entsprechen. |
OR |
Dokumente müssen mindestens einem der kombinierten Filter entsprechen. |
FieldFilter
Ein Filter für ein bestimmtes Feld.
JSON-Darstellung |
---|
{ "field": { object ( |
Felder | |
---|---|
field |
Das Feld, nach dem gefiltert werden soll. |
op |
Operator, nach dem gefiltert werden soll. |
value |
Wert, mit dem verglichen werden soll |
Operator
Ein Feldfilteroperator.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Nicht angegeben Dieser Wert darf nicht verwendet werden. |
LESS_THAN |
Der angegebene Benötigt:
|
LESS_THAN_OR_EQUAL |
Der angegebene Benötigt:
|
GREATER_THAN |
Die angegebene Benötigt:
|
GREATER_THAN_OR_EQUAL |
Der angegebene Benötigt:
|
EQUAL |
Die angegebene field ist gleich der angegebenen value . |
NOT_EQUAL |
Die angegebene Benötigt:
|
ARRAY_CONTAINS |
Die angegebene field ist ein Array, das den angegebenen value enthält. |
IN |
Die angegebene Benötigt:
|
ARRAY_CONTAINS_ANY |
Die angegebene Benötigt:
|
NOT_IN |
Der Wert von Benötigt:
|
UnaryFilter
Ein Filter mit einem einzelnen Operanden.
JSON-Darstellung |
---|
{ "op": enum ( |
Felder | |
---|---|
op |
Der anzuwendende unäre Operator. |
Union-Feld operand_type . Das Argument für den Filter. Für operand_type ist nur einer der folgenden Werte zulässig: |
|
field |
Das Feld, auf das der Operator angewendet werden soll. |
Operator
Ein unärer Operator.
Enums | |
---|---|
OPERATOR_UNSPECIFIED |
Nicht angegeben Dieser Wert darf nicht verwendet werden. |
IS_NAN |
Der angegebene field ist gleich NaN . |
IS_NULL |
Der angegebene field ist gleich NULL . |
IS_NOT_NAN |
Der angegebene Benötigt:
|
IS_NOT_NULL |
Der angegebene Benötigt:
|
Auftrag
Eine Bestellung auf einem Feld.
JSON-Darstellung |
---|
{ "field": { object ( |
Felder | |
---|---|
field |
Das Feld, nach dem sortiert werden soll. |
direction |
Die Richtung, nach der sortiert werden soll. Die Standardeinstellung ist |
Richtung
Eine Sortierrichtung.
Enums | |
---|---|
DIRECTION_UNSPECIFIED |
Nicht angegeben |
ASCENDING |
Aufsteigend. |
DESCENDING |
Absteigend. |
FindNearest
Konfiguration für „Nächstgelegene Neighbors“-Suche.
JSON-Darstellung |
---|
{ "vectorField": { object ( |
Felder | |
---|---|
vectorField |
Erforderlich. Ein indexiertes Vektorfeld, nach dem gesucht werden soll. Es können nur Dokumente zurückgegeben werden, die Vektoren enthalten, deren Dimensionalität mit queryVector übereinstimmt. |
queryVector |
Erforderlich. Der Abfragevektor, nach dem gesucht wird. Darf ein Vektor mit maximal 2.048 Dimensionen sein. |
distanceMeasure |
Erforderlich. Die zu verwendende Distanzmessung (erforderlich). |
limit |
Erforderlich. Die Anzahl der nächsten Nachbarn, die zurückgegeben werden sollen. Muss eine positive Ganzzahl bis 1.000 sein. |
DistanceMeasure
Die Entfernungsmessung, die beim Vergleich von Vektoren verwendet werden soll.
Enums | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Sollte nicht festgelegt werden. |
EUCLIDEAN |
Misst die EUCLIDEAN-Entfernung zwischen den Vektoren. Weitere Informationen finden Sie auf der Seite Euklidisch. |
COSINE |
Vergleicht Vektoren basierend auf dem Winkel zwischen ihnen, sodass Sie Ähnlichkeiten messen können, die nicht auf der Größe der Vektoren basieren. Wir empfehlen die Verwendung von DOT_PRODUCT mit normalisierten Vektoren der Einheit anstelle der COSINE-Entfernung, die mathematisch gleichwertig mit einer besseren Leistung ist. Weitere Informationen finden Sie unter Kosinus-Ähnlichkeit. |
DOT_PRODUCT |
Ähnlich wie der Kosinus, wird aber von der Größe der Vektoren beeinflusst. Weitere Informationen finden Sie unter Dot Product. |