MySQL
| PostgreSQL
| SQL Server
בדף הזה מוגדר התחביר של התוספים של Cloud SQL להצהרות של שפת הגדרת הנתונים (DDL) של MySQL.
הצהרות VECTOR
בקטע הזה יש מידע על VECTOR הצהרות.
יצירת אינדקס וקטורי
יוצרת אינדקס וקטורי.
CREATE VECTOR INDEX index_name
[opt_index_type]
ON table_name (column_name)
[index_options]
where opt_index_type is:
| USING SCANN
where index_option is :
USING SCANN
| [QUANTIZER=SQ8]
| [NUM_LEAVES=int_value]
| DISTANCE_MEASURE=L2_SQUARED|DOT_PRODUCT|COSINE
פרמטרים
-
USING SCANN: חובה. סוג האינדקס שבו משתמשים כשיוצרים את אינדקס הווקטורים. האלגוריתם הזה יוצר אינדקס ScaNN. הערך הנתמך היחיד הואSCANN. אי אפשר לשנות את הפרמטר הזה. -
QUANTIZER: אופציונלי. הפרמטר הזה ממפה וקטור רב-ממדי לייצוג דחוס. הערך הנתמך היחיד הואSQ8. אי אפשר לשנות את הפרמטר הזה. -
NUM_LEAVES: אופציונלי. מציינים כמה מחיצות (ענפים) ליצור. כדאי לשנות את ההגדרה הזו מברירת המחדל רק אם אתם מבינים היטב את החיפוש ברשתות עצביות מלאכותיות ואת מערך הנתונים שלכם. המספר שצוין לא יכול להיות גדול ממספר ההטמעות בטבלת הבסיס. -
DISTANCE_MEASURE: חובה. נוסחה מתמטית שמחשבת את הדמיון בין שני וקטורים. צריך להגדיר את אותו מדד מרחק בפרמטר הזה כמו המרחק באפשרויות החיפושapprox_distance. התנועות הצידיות הנתמכות הן:L2_SQUAREDCOSINEDOT_PRODUCT
דוגמה
בדוגמה הבאה אפשר לראות איך יוצרים אינדקס וקטורים בטבלה table_name
CREATE
VECTOR INDEX index1
ON table_name(vector_column_name)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;
ALTER TABLE
הוספת אינדקס וקטורי לטבלה קיימת. חיפושי וקטורים דורשים SCANN
כאפשרות לאינדקס, וסוג הכימות חייב להיות SQ8.
ALTER TABLE table_name
ADD VECTOR INDEX index_name(key_part)[index_option];
WHERE key_part is:{ _col_name_[(_length_)] | (_expr_) }
WHERE
index_option
is:USING
SCANN
| [QUANTIZER = SQ8]
| [NUM_LEAVES = int_value]
| DISTANCE_MEASURE
= L2_SQUARED | DOT_PRODUCT | COSINE
פרמטרים
-
USING SCANN: חובה. סוג האינדקס שבו משתמשים כשיוצרים את אינדקס הווקטורים. האלגוריתם הזה יוצר אינדקס ScaNN. הערך הנתמך היחיד הואSCANN. אי אפשר לשנות את הפרמטר הזה. -
QUANTIZER: אופציונלי. הפרמטר הזה ממפה וקטור רב-ממדי לייצוג דחוס. הערך הנתמך היחיד הואSQ8. אי אפשר לשנות את הפרמטר הזה. -
NUM_LEAVES: אופציונלי. מציינים כמה מחיצות (ענפים) ליצור. כדאי לשנות את ההגדרה הזו מברירת המחדל רק אם אתם מבינים היטב את החיפוש ברשתות עצביות מלאכותיות ואת מערך הנתונים שלכם. המספר שצוין לא יכול להיות גדול ממספר ההטמעות בטבלת הבסיס. -
DISTANCE_MEASURE: חובה. נוסחה מתמטית שמחשבת את הדמיון בין שני וקטורים. צריך להגדיר את אותו מדד מרחק בפרמטר הזה כמו המרחק באפשרויות החיפושapprox_distance. התנועות הצידיות הנתמכות הן:L2_SQUAREDCOSINEDOT_PRODUCT
דוגמה
בדוגמה הבאה אפשר לראות איך מוסיפים אינדקס וקטורי לטבלה t1.
ALTER TABLE t1 ADD VECTOR INDEX index1(j)
USING SCANN QUANTIZER = SQ8 DISTANCE_MEASURE = l2_squared;
המאמרים הבאים
- מומלץ לקרוא את הסקירה הכללית על חיפוש וקטורים ב-Cloud SQL.
- איך מפעילים ומשביתים הטמעות וקטוריות במכונה
- איך יוצרים הטמעות וקטוריות
- איך יוצרים אינדקסים של וקטורים
- איך מבצעים חיפושים בהטמעות וקטוריות