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 (الأخير) استنادا إلى مقياس التشابه المستخدم.
  • يتم التعبير عن النتيجة كنقاط تشابه.