VectorDistance (kueri NoSQL)
BERLAKU UNTUK: NoSQL
Mengembalikan skor kesamaan antara dua vektor yang ditentukan.
Catatan
Untuk informasi selengkapnya, lihat Data lokasi Geospasial dan GeoJSON.
Sintaks
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Argumen
Deskripsi | |
---|---|
spatial_expr_1 |
Array atau float32 lebih kecil. |
spatial_expr_2 |
Array atau float32 lebih kecil. |
bool_expr |
Boolean yang menentukan bagaimana nilai komputasi digunakan dalam ekspresi ORDER BY. Jika true , maka brute force digunakan. Nilai false memanfaatkan indeks apa pun yang ditentukan pada properti vektor, jika ada. Nilai default false . |
obj_expr |
Objek berformat JSON literal yang digunakan untuk menentukan opsi untuk perhitungan jarak vektor. Item yang valid meliputi distanceFunction dan dataType . |
distanceFunction |
Metrik yang digunakan untuk menghitung jarak/kesamaan. |
dataType |
Jenis data vektor. float32 , int8 , uint8 nilai. Nilai default float32 . |
Metrik yang didukung untuk distanceFunction
adalah:
- kosinus, yang memiliki nilai dari -1 (paling tidak mirip) dengan +1 (paling mirip).
- dotproduct, yang memiliki nilai dari -inf (paling tidak mirip) dengan +inf (paling mirip).
- euclidean, yang memiliki nilai dari 0 (paling mirip) dengan +inf (paling tidak serupa).
Jenis yang dikembalikan
Mengembalikan ekspresi numerik yang menghitung skor kesamaan antara dua ekspresi.
Contoh
Dengan argumen yang diperlukan
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Dengan argumen opsional
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Keterangan
- Fungsi ini memerlukan pendaftaran di fitur pratinjau Azure Cosmos DB NoSQL Vector Search.
- Fungsi ini mendapat manfaat dari indeks vektor
- jika
false
diberikan sebagai opsionalbool_expr
, maka indeks vektor yang ditentukan pada jalur digunakan, jika ada. Jika tidak ada indeks yang didefinisikan pada jalur vektor, maka ini kembali ke pemindaian penuh dan dikenakan biaya RU yang lebih tinggi dan latensi yang lebih tinggi daripada jika menggunakan indeks vektor. - Ketika
VectorDistance
digunakan dalam klausulORDER BY
, tidak ada arah yang perlu ditentukan karenaORDER BY
hasilnya selalu diurutkan dalam urutan paling mirip (pertama) hingga paling tidak serupa (terakhir) berdasarkan metrik kesamaan yang digunakan. - Hasilnya dinyatakan sebagai skor kesamaan.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk