Zapytanie Firestore.
Etapy zapytania są wykonywane w tej kolejności: 1. od 2, gdzie 3. wybierz 4. orderBy + startAt + endAt 5. przesunięcie 6. limit
Zapis JSON |
---|
{ "select": { object ( |
Pola | |
---|---|
select |
Opcjonalny podzbiór pól do zwrócenia. Działa jako |
from[] |
Kolekcje, których ma dotyczyć zapytanie. |
where |
Filtr, który ma zostać zastosowany. |
orderBy[] |
Kolejność zastosowania wyników zapytania. Firestore umożliwia użytkownikom złożenie zamówienia w pełnej lub częściowej kolejności bądź w ogóle bez uporządkowania. We wszystkich przypadkach Firestore gwarantuje stabilne porządkowanie według tych reguł:
Pola są dołączone z tym samym kierunkiem sortowania co w ostatnim podanym porządku lub „ASCENDING”, jeśli nie określono kolejności. Na przykład:
|
startAt |
Potencjalny prefiks pozycji w zestawie wyników, od której rozpoczyna się zapytanie. Kolejność w zestawie wyników jest zgodna z klauzulą
Wyniki tego zapytania są uporządkowane według kolumny Kursory mogą odwoływać się do pełnej kolejności lub prefiksu lokalizacji, ale nie mogą odwoływać się do większej liczby pól niż jest w tym celu podany w polu Nawiązując do powyższego przykładu, zastosowanie tych kursorów startowych może mieć różny wpływ:
W odróżnieniu od metody Wymagane:
|
endAt |
Potencjalny prefiks pozycji w zestawie wyników, na której kończy się zapytanie. Funkcja jest podobna do Wymagane:
|
offset |
Liczba dokumentów do pominięcia przed zwróceniem pierwszego wyniku. Ma to zastosowanie po ograniczeniach określonych przez Wymagane:
|
limit |
Maksymalna liczba wyników do zwrócenia. Ma zastosowanie po wszystkich innych ograniczeniach. Wymagane:
|
findNearest |
Opcjonalnie. Potencjalne wyszukiwanie w pobliżu sąsiadów. Zostanie zastosowane po wszystkich innych filtrach i kolejności. Znajduje wektory dystrybucyjne najbliżej danego wektora zapytania. |
Odwzorowanie
Odwzorowanie pól dokumentu do zwrócenia.
Zapis JSON |
---|
{
"fields": [
{
object ( |
Pola | |
---|---|
fields[] |
Pola do zwrócenia. Jeśli jest puste, zwracane są wszystkie pola. Aby zwrócić tylko nazwę dokumentu, użyj funkcji |
CollectionSelector
Wybór kolekcji, na przykład messages as m1
.
Zapis JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Pola | |
---|---|
collectionId |
Identyfikator kolekcji. Po ustawieniu wybiera tylko kolekcje z tym identyfikatorem. |
allDescendants |
Jeśli zasada ma wartość Fałsz, wybiera tylko te kolekcje, które są bezpośrednimi elementami podrzędnymi w elemencie |
Filtruj
Filtr.
Zapis JSON |
---|
{ // Union field |
Pola | |
---|---|
Pole sumy filter_type . Typ filtra. filter_type może być tylko jedną z tych wartości: |
|
compositeFilter |
Filtr złożony. |
fieldFilter |
Filtr w polu dokumentu. |
unaryFilter |
Filtr, który przyjmuje dokładnie 1 argument. |
CompositeFilter
filtr, który łączy wiele innych filtrów za pomocą podanego operatora;
Zapis JSON |
---|
{ "op": enum ( |
Pola | |
---|---|
op |
Operator służący do łączenia wielu filtrów. |
filters[] |
Lista filtrów do połączenia. Wymagane:
|
Operator
Operator filtra złożonego.
Wartości w polu enum | |
---|---|
OPERATOR_UNSPECIFIED |
Nie określono. Tej wartości nie można używać. |
AND |
Dokumenty są wymagane w przypadku wszystkich połączonych filtrów. |
OR |
Dokumenty są wymagane w przypadku co najmniej jednego z połączonych filtrów. |
FieldFilter
Filtr konkretnego pola.
Zapis JSON |
---|
{ "field": { object ( |
Pola | |
---|---|
field |
Pole, według którego chcesz filtrować. |
op |
Operator, według którego chcesz filtrować. |
value |
Wartość do porównania. |
Operator
Operator filtra pól.
Wartości w polu enum | |
---|---|
OPERATOR_UNSPECIFIED |
Nie określono. Tej wartości nie można używać. |
LESS_THAN |
Podana wartość Wymagane:
|
LESS_THAN_OR_EQUAL |
Podana wartość Wymagane:
|
GREATER_THAN |
Podana wartość Wymagane:
|
GREATER_THAN_OR_EQUAL |
Podana wartość Wymagane:
|
EQUAL |
Wartość field jest równa wartości value . |
NOT_EQUAL |
Wartość Wymagane:
|
ARRAY_CONTAINS |
Podana tablica field to tablica, która zawiera podany element value . |
IN |
Podana wartość Wymagane:
|
ARRAY_CONTAINS_ANY |
Podana tablica Wymagane:
|
NOT_IN |
Wartości Wymagane:
|
UnaryFilter
Filtr z 1 operandem.
Zapis JSON |
---|
{ "op": enum ( |
Pola | |
---|---|
op |
Operator jednoargumentowy do zastosowania. |
Pole sumy operand_type . Argument filtra. operand_type może być tylko jedną z tych wartości: |
|
field |
Pole, do którego chcesz zastosować operator. |
Operator
Operator jednoargumentowy.
Wartości w polu enum | |
---|---|
OPERATOR_UNSPECIFIED |
Nie określono. Tej wartości nie można używać. |
IS_NAN |
Podana wartość field jest równa NaN . |
IS_NULL |
Podana wartość field jest równa NULL . |
IS_NOT_NAN |
Podana wartość Wymagane:
|
IS_NOT_NULL |
Podana wartość Wymagane:
|
Zamówienie
Zamówienie na polu.
Zapis JSON |
---|
{ "field": { object ( |
Pola | |
---|---|
field |
Pole, według którego chcesz sortować. |
direction |
Kierunek, według którego należy sortować dane. Domyślna wartość to |
Kierunek
Kierunek sortowania.
Wartości w polu enum | |
---|---|
DIRECTION_UNSPECIFIED |
Nie określono. |
ASCENDING |
Rosnąco. |
DESCENDING |
Malejąco. |
FindNearest
Konfiguracja wyszukiwania Najbliższych sąsiadów.
Zapis JSON |
---|
{ "vectorField": { object ( |
Pola | |
---|---|
vectorField |
To pole jest wymagane. Zindeksowane pole wektorów do wyszukania. Mogą zostać zwrócone tylko dokumenty zawierające wektory, których wymiary pasują do elementu queryVector. |
queryVector |
To pole jest wymagane. Wektor zapytania, którego używamy do wyszukiwania. Wartość musi być wektorem o maksymalnie 2048 wymiarach. |
distanceMeasure |
To pole jest wymagane. Miara odległości do użycia, wymagana. |
limit |
To pole jest wymagane. Liczba najbliższych sąsiadów do zwrócenia. Musi być dodatnią liczbą całkowitą nie większą niż 1000. |
DistanceMeasure
Miara odległości używana przy porównywaniu wektorów.
Wartości w polu enum | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Nie należy go ustawiać. |
EUCLIDEAN |
Mierzy odległość UECLIDEAN między wektorami. Zobacz euklidesowy, aby dowiedzieć się więcej. |
COSINE |
Porównuje wektory na podstawie kąta między nimi, co pozwala zmierzyć podobieństwo, które nie jest oparte na wielkości wektorów. Zalecamy używanie funkcji DOT_PRODUCT ze znormalizowanymi wektorami jednostowymi zamiast odległości COSINE, ponieważ jest to odpowiednik matematyczny z lepszą wydajnością. Więcej informacji znajdziesz w sekcji Podobieństwo cosinusowe. |
DOT_PRODUCT |
Działa podobnie jak cosinus, ale jest zależna od wielkości wektorów. Więcej informacji znajdziesz w sekcji Iloczyn skalarny. |