Kueri Firestore.
Tahapan kueri dieksekusi dalam urutan berikut: 1. dari 2. di mana 3. pilih 4. orderBy + startAt + endAt 5. offset 6. limit
Representasi JSON |
---|
{ "select": { object ( |
Kolom | |
---|---|
select |
Sub-kumpulan opsional kolom yang akan ditampilkan. 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 memberikan pengurutan lengkap, pengurutan parsial, atau tanpa pengurutan 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 suatu posisi dalam kumpulan hasil untuk memulai kueri. Urutan kumpulan hasil didasarkan pada klausa
Hasil kueri ini diurutkan menurut Kursor dapat merujuk ke pengurutan lengkap atau awalan lokasi, meskipun tidak dapat merujuk lebih banyak kolom daripada yang ada dalam Melanjutkan contoh di atas, melampirkan kursor awal berikut akan memiliki dampak yang berbeda-beda:
Tidak seperti Membutuhkan:
|
endAt |
Awalan potensial dari suatu posisi dalam kumpulan hasil untuk mengakhiri kueri. Ini mirip dengan Membutuhkan:
|
offset |
Jumlah dokumen yang akan dilewati sebelum menampilkan hasil pertama. Ini berlaku setelah batasan yang ditentukan oleh Membutuhkan:
|
limit |
Jumlah hasil maksimum yang akan ditampilkan. Berlaku setelah semua batasan lainnya. Membutuhkan:
|
findNearest |
Opsional. Potensi penelusuran tetangga terdekat. Berlaku setelah semua filter dan pengurutan lainnya. Menemukan embedding vektor terdekat dengan vektor kueri yang diberikan. |
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 |
PemilihKoleksi
Pilihan koleksi, seperti messages as m1
.
Representasi JSON |
---|
{ "collectionId": string, "allDescendants": boolean } |
Kolom | |
---|---|
collectionId |
ID koleksi. Jika ditetapkan, hanya memilih koleksi dengan ID ini. |
allDescendants |
Jika salah (false), hanya 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 lainnya menggunakan operator yang ditentukan.
Representasi JSON |
---|
{ "op": enum ( |
Kolom | |
---|---|
op |
Operator untuk menggabungkan beberapa filter. |
filters[] |
Daftar filter yang akan digabungkan. Membutuhkan:
|
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. |
{i>FieldFilter<i}
Filter di kolom tertentu.
Representasi JSON |
---|
{ "field": { object ( |
Kolom | |
---|---|
field |
Kolom yang akan difilter. |
op |
Operator untuk memfilter. |
value |
Nilai untuk dibandingkan. |
Operator
Operator filter kolom.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
LESS_THAN |
Membutuhkan:
|
LESS_THAN_OR_EQUAL |
Membutuhkan:
|
GREATER_THAN |
Membutuhkan:
|
GREATER_THAN_OR_EQUAL |
Membutuhkan:
|
EQUAL |
field yang diberikan sama dengan value yang diberikan. |
NOT_EQUAL |
Membutuhkan:
|
ARRAY_CONTAINS |
field yang diberikan adalah array yang berisi value yang diberikan. |
IN |
Membutuhkan:
|
ARRAY_CONTAINS_ANY |
Membutuhkan:
|
NOT_IN |
Nilai Membutuhkan:
|
{i>UnaryFilter<i}
Filter dengan satu operand.
Representasi JSON |
---|
{ "op": enum ( |
Kolom | |
---|---|
op |
Operator unary yang akan diterapkan. |
Kolom union operand_type . Argumen ke filter. operand_type hanya ada berupa salah satu diantara berikut: |
|
field |
Kolom tempat Anda menerapkan operator. |
Operator
Operator unary.
Enum | |
---|---|
OPERATOR_UNSPECIFIED |
Tidak ditentukan. Nilai ini tidak boleh digunakan. |
IS_NAN |
field yang diberikan sama dengan NaN . |
IS_NULL |
field yang diberikan sama dengan NULL . |
IS_NOT_NAN |
Membutuhkan:
|
IS_NOT_NULL |
Membutuhkan:
|
Pesan
Pesanan di kolom.
Representasi JSON |
---|
{ "field": { object ( |
Kolom | |
---|---|
field |
Kolom untuk mengurutkan. |
direction |
Arah pengurutan. Nilai defaultnya adalah |
Arah
Arah pengurutan.
Enum | |
---|---|
DIRECTION_UNSPECIFIED |
Tidak ditentukan. |
ASCENDING |
Menaik. |
DESCENDING |
Menurun. |
Temukan Terdekat
Konfigurasi penelusuran Tetangga Terdekat.
Representasi JSON |
---|
{ "vectorField": { object ( |
Kolom | |
---|---|
vectorField |
Wajib diisi. Kolom vektor yang diindeks untuk ditelusuri. Hanya dokumen yang berisi vektor yang dimensinya cocok dengan queryVector yang dapat ditampilkan. |
queryVector |
Wajib diisi. Vektor kueri yang kita telusuri. Harus berupa vektor yang tidak lebih dari 2.048 dimensi. |
distanceMeasure |
Wajib diisi. Ukuran jarak yang akan digunakan, wajib diisi. |
limit |
Wajib diisi. Jumlah tetangga terdekat yang akan ditampilkan. Harus berupa bilangan bulat positif yang tidak lebih dari 1.000. |
Mengukur Jarak
Ukuran jarak yang akan digunakan ketika membandingkan vektor.
Enum | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED |
Seharusnya tidak disetel. |
EUCLIDEAN |
Mengukur jarak EUCLIDEAN antarvektor. Lihat Euclidean untuk mempelajari lebih lanjut |
COSINE |
Membandingkan vektor berdasarkan sudut di antara mereka, yang memungkinkan Anda mengukur kesamaan yang tidak didasarkan pada besaran vektor. Sebaiknya gunakan DOT_PRODUCT dengan vektor yang dinormalisasi satuan, bukan jarak COSINE, yang secara matematis setara dengan performa yang lebih baik. Lihat Kemiripan Cosine untuk mempelajari lebih lanjut. |
DOT_PRODUCT |
Mirip dengan kosinus tetapi dipengaruhi oleh besaran vektor. Lihat Dot Product untuk mempelajari lebih lanjut. |