Kueri Firestore.
Tahapan kueri dijalankan dalam urutan berikut: 1. dari 2. di mana 3. pilih 4. orderBy + startAt + endAt 5. offset 6. batas
Representasi JSON |
---|
{ "select": { object ( |
Kolom | |
---|---|
select |
Subkumpulan kolom opsional yang akan ditampilkan. Hal ini bertindak sebagai |
from[] |
Koleksi yang akan dikueri. |
where |
Filter yang akan diterapkan. |
orderBy[] |
Urutan yang akan diterapkan ke hasil kueri. Firestore memungkinkan pemanggil untuk menyediakan pemesanan lengkap, pemesanan parsial, atau tidak ada pemesanan sama sekali. Dalam semua kasus, Firestore menjamin pengurutan yang stabil melalui aturan berikut:
Kolom ditambahkan dengan arah pengurutan yang sama seperti urutan terakhir yang ditentukan, atau 'ASCENDING' jika tidak ada urutan yang ditentukan. Contoh:
|
startAt |
Awalan potensial dari posisi dalam kumpulan hasil untuk memulai kueri. Urutan kumpulan hasil didasarkan pada klausa
Hasil kueri ini diurutkan berdasarkan Kursor dapat merujuk ke urutan lengkap atau awalan lokasi, meskipun tidak dapat merujuk lebih banyak kolom daripada yang ada di Melanjutkan contoh di atas, melampirkan kursor awal berikut akan memiliki dampak yang berbeda:
Tidak seperti Memerlukan:
|
endAt |
Awalan potensial dari posisi dalam hasil yang ditetapkan untuk mengakhiri kueri. Ini mirip dengan Memerlukan:
|
offset |
Jumlah dokumen yang harus dilewati sebelum menampilkan hasil pertama. Ini berlaku setelah batasan yang ditentukan oleh Memerlukan:
|
limit |
Jumlah hasil maksimum yang akan ditampilkan. Berlaku setelah semua batasan lainnya. Memerlukan:
|
findNearest |
Opsional. Penelusuran Tetangga Terdekat potensial. Berlaku setelah semua filter dan pengurutan lainnya. Menemukan embedding vektor terdekat ke vektor kueri yang ditentukan. |
Proyeksi
Proyeksi kolom dokumen yang akan ditampilkan.
Representasi JSON |
---|
{
"fields": [
{
object ( |
Kolom | |
---|---|
fields[] |
Kolom yang akan ditampilkan. Jika kosong, semua kolom akan ditampilkan. Untuk menampilkan nama dokumen saja, gunakan |
CollectionSelector
Pilihan koleksi, seperti messages as m1
.
Representasi JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Kolom | |
---|---|
collectionId |
ID koleksi. Jika ditetapkan, hanya akan memilih koleksi dengan ID ini. |
allDescendants |
Jika salah, hanya memilih koleksi yang merupakan turunan langsung dari |
Filter
Sebuah filter.
Representasi JSON |
---|
{ // Union field |
Kolom | |
---|---|
Kolom union filter_type . Jenis filter. filter_type hanya ada berupa salah satu diantara berikut: |
|
compositeFilter |
Filter gabungan. |
fieldFilter |
Filter di kolom dokumen. |
unaryFilter |
Filter yang mengambil tepat satu argumen. |
CompositeFilter
Filter yang menggabungkan beberapa filter lain menggunakan operator yang diberikan.
Representasi JSON |
---|
{ "op": enum ( |
Kolom | |
---|---|
op |
Operator untuk menggabungkan beberapa filter. |
filters[] |
Daftar filter untuk digabungkan. Memerlukan:
|
Operator
Operator filter gabungan.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
AND |
Dokumen diperlukan untuk memenuhi semua filter gabungan. |
OR |
Dokumen diperlukan untuk memenuhi setidaknya salah satu filter gabungan. |
FieldFilter
Filter pada kolom tertentu.
Representasi JSON |
---|
{ "field": { object ( |
Kolom | |
---|---|
field |
Kolom yang akan digunakan untuk memfilter. |
op |
Operator yang akan digunakan untuk memfilter. |
value |
Nilai yang akan dibandingkan. |
Operator
Operator filter kolom.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
LESS_THAN |
Memerlukan:
|
LESS_THAN_OR_EQUAL |
Memerlukan:
|
GREATER_THAN |
Memerlukan:
|
GREATER_THAN_OR_EQUAL |
Memerlukan:
|
EQUAL |
field yang diberikan sama dengan value yang ditentukan. |
NOT_EQUAL |
Memerlukan:
|
ARRAY_CONTAINS |
field yang diberikan adalah array yang berisi value yang diberikan. |
IN |
Memerlukan:
|
ARRAY_CONTAINS_ANY |
Memerlukan:
|
NOT_IN |
Nilai Memerlukan:
|
UnaryFilter
Filter dengan satu operand.
Representasi JSON |
---|
{ "op": enum ( |
Kolom | |
---|---|
op |
Operator unary yang akan diterapkan. |
Kolom union operand_type . Argumen untuk filter. operand_type hanya ada berupa salah satu diantara berikut: |
|
field |
Kolom tempat operator akan diterapkan. |
Operator
Operator unary.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
IS_NAN |
field yang ditentukan sama dengan NaN . |
IS_NULL |
field yang ditentukan sama dengan NULL . |
IS_NOT_NAN |
Memerlukan:
|
IS_NOT_NULL |
Memerlukan:
|
Pesan
Pesanan di kolom.
Representasi JSON |
---|
{ "field": { object ( |
Kolom | |
---|---|
field |
Kolom untuk mengurutkan. |
direction |
Arah pengurutan. Default-nya adalah |
Arah
Arah pengurutan.
Enum | |
---|---|
DIRECTION_UNSPECIFIED |
Tidak ditentukan. |
ASCENDING |
Menaik. |
DESCENDING |
Menurun. |
FindNearest
Konfigurasi penelusuran Nearest Neighbors.
Representasi JSON |
---|
{ "vectorField": { object ( |
Kolom | |
---|---|
vectorField |
Wajib. Kolom vektor terindeks untuk ditelusuri. Hanya dokumen yang berisi vektor yang dimensinya cocok dengan queryVector yang dapat ditampilkan. |
queryVector |
Wajib. Vektor kueri yang kita telusuri. Harus berupa vektor tidak lebih dari 2048 dimensi. |
distanceMeasure |
Wajib. Ukur Jarak yang akan digunakan, diperlukan. |
limit |
Wajib. Jumlah tetangga terdekat yang akan kembali. Harus berupa bilangan bulat positif yang tidak lebih dari 1000. |
DistanceMeasure
Ukuran jarak yang akan digunakan ketika membandingkan vektor.
Enum | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Tidak boleh ditetapkan. |
EUCLIDEAN |
Mengukur jarak EUCLIDEAN antarvektor. Lihat Euclidean untuk mempelajari lebih lanjut |
COSINE |
Membandingkan berbagai vektor berdasarkan sudut antarvektor, yang memungkinkan Anda mengukur kesamaan yang tidak didasarkan pada besarnya vektor. Kami menyarankan untuk menggunakan DOT_PRODUCT dengan vektor unit yang dinormalisasi alih-alih jarak COSINE, yang secara matematis setara dengan kinerja yang lebih baik. Lihat Cosine Similarity (Kemiripan Kosinus) untuk mempelajari lebih lanjut. |
DOT_PRODUCT |
Mirip dengan kosinus tetapi dipengaruhi oleh besarnya vektor. Lihat Produk Dot untuk mempelajari lebih lanjut. |