VectorDistance (استعلام NoSQL)
ينطبق على: NoSQL
إرجاع درجة التشابه بين خطين متجهين محددين.
بناء الجملة
VectorDistance(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
الوسيطات
الوصف | |
---|---|
spatial_expr_1 |
صفيف أو float32 أصغر. |
spatial_expr_2 |
صفيف أو float32 أصغر. |
bool_expr |
قيمة منطقية تحدد كيفية استخدام القيمة المحسوبة في تعبير ORDER BY. إذا ، true يتم استخدام القوة الغاشمة. تستخدم قيمة false أي فهرس معرف على خاصية المتجه، إذا كان موجودا. القيمة الافتراضية هي false . |
obj_expr |
حرف كائن بتنسيق JSON يستخدم لتحديد خيارات لحساب مسافة المتجه. تتضمن distanceFunction العناصر الصالحة و dataType . |
distanceFunction |
المقياس المستخدم لحساب المسافة/التشابه. |
dataType |
نوع بيانات المتجهات. float32 ، int8 ، uint8 القيم. القيمة الافتراضية هي float32 . |
المقاييس المدعومة ل distanceFunction
هي:
cosine
، الذي يحتوي على قيم من-1
(الأقل تشابها) إلى+1
(الأكثر تشابها).dotproduct
، الذي يحتوي على قيم من-∞
(-inf
) (الأقل تشابها) إلى+∞
(+inf
) (الأكثر تشابها).euclidean
، الذي يحتوي على قيم من0
(الأكثر تشابها) إلى+∞
(+inf
) (الأقل تشابها).
أنواع الإعادة
إرجاع تعبير رقمي يعدد درجة التشابه بين تعبيرين.
الأمثلة
يعرض هذا المثال الأول استعلام بحث عن المتجهات العشرة الأولى مع الوسيطات المطلوبة فقط. يتم إسقاط خاصية واحدة، جنبا إلى جنب مع النتيجة التي تم إرجاعها بواسطة VectorDistance
. بعد ذلك، نستخدم عبارة لفرز VectorDistance
الدرجات بالترتيب من الأكثر تشابها ORDER BY
إلى الأقل.
SELECT TOP 10 s.name, VectorDistance(c.vector1, <query_vector>)
FROM c
ORDER BY VectorDistance(c.vector1, <query_vector>)
يتضمن هذا المثال التالي أيضا وسيطات اختيارية ل VectorDistance
SELECT TOP 10 s.name, VectorDistance(c.vector1, <query_vector>, true, {'distanceFunction':'cosine', 'dataType':'float32',})
FROM c
ORDER BY VectorDistance(c.vector1, <query_vector>, true, {'distanceFunction':'cosine', 'dataType':'float32',})
الملاحظات
- تتطلب هذه الدالة التسجيل في ميزة معاينة Azure Cosmos DB NoSQL Vector Search.
- تستفيد هذه الدالة من فهرس متجه
- إذا
false
تم منحه على أنه اختياريbool_expr
، استخدام فهرس المتجه المحدد على المسار، إذا كان موجودا. إذا لم يتم تعريف أي فهرس على مسار المتجه، فستعود هذه الدالة إلى الفحص الكامل وتتحمل رسوم RU أعلى وزمن انتقال أعلى مما إذا كنت تستخدم فهرس متجه. - عند
VectorDistance
استخدام في عبارة، لا يلزم تحديد أي اتجاه لORDER BY
حيث يتم فرز النتائج دائما بترتيب الأكثر تشابها (أولا) إلى الأقل تشابهاORDER BY
(الأخير) استنادا إلى مقياس التشابه المستخدم. - يتم التعبير عن النتيجة كنقاط تشابه.