התצוגה SEARCH_INDEX_COLUMN_OPTIONS
התצוגה INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS מכילה שורה אחת לכל קבוצת אפשרויות שמוגדרת בעמודה עם אינדקס לחיפוש בטבלאות במערך נתונים.
ההרשאות הנדרשות
כדי לראות את המטא-נתונים של אינדקס החיפוש, צריך לקבל את ההרשאה bigquery.tables.get או bigquery.tables.list לניהול זהויות והרשאות גישה (IAM) בטבלה עם האינדקס. כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל לפחות אחת מההרשאות האלה:
roles/bigquery.adminroles/bigquery.dataEditorroles/bigquery.dataOwnerroles/bigquery.dataViewerroles/bigquery.metadataViewerroles/bigquery.user
מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.
סכימה
כשמריצים שאילתה בתצוגהINFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS, תוצאות השאילתה מכילות שורה אחת לכל קבוצת אפשרויות בעמודה עם אינדוקס לחיפוש בטבלאות של מערך נתונים.
לתצוגה INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
index_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים. |
index_schema |
STRING |
השם של מערך הנתונים שמכיל את האינדקס. |
table_name |
STRING |
השם של טבלת הבסיס שעליה נוצר האינדקס. |
index_name |
STRING |
שם האינדקס. |
index_column_name |
STRING |
השם של העמודה המאונדקסת שהאפשרות מוגדרת בה. |
option_name |
STRING |
השם של האפשרות שצוינה בעמודה. |
option_type |
STRING |
סוג האפשרות. |
option_value |
STRING |
הערך של האפשרות. |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו צריכות לכלול מזהה מערך נתונים. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:
| שם התצוגה המפורטת | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
דוגמה
-- Returns metadata for search index column options in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS;
דוגמה
בדוגמה הבאה, רמת הפירוט של עמודת האינדקס מוגדרת כברירת מחדל ל-COLUMN, ורמת הפירוט של col2 ו-col3 מוגדרת ל-GLOBAL ו-COLUMN בהתאמה. בדוגמה הזו, העמודות col2 ו-col3 מופיעות בתוצאות כי רמת הפירוט שלהן מוגדרת באופן מפורש. רמת הפירוט של העמודה col1 לא מוצגת כי נעשה בה שימוש ברמת הפירוט שמוגדרת כברירת מחדל.
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( ALL COLUMNS WITH COLUMN OPTIONS ( col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
התוצאה אמורה להיראות כך:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+
בדוגמה המקבילה הבאה, שלא נעשה בה שימוש ב-ALL COLUMNS, הגדרנו את רמת הפירוט של עמודת האינדקס כברירת מחדל ל-COLUMN, והגדרנו את רמת הפירוט של שתי עמודות בנפרד ל-GLOBAL ול-COLUMN בהתאמה:
CREATE SEARCH INDEX index1 ON `mydataset.table1` ( col1, col2 OPTIONS(index_granularity = 'GLOBAL'), col3 OPTIONS(index_granularity = 'COLUMN') ) OPTIONS( default_index_column_granularity = 'COLUMN' ); SELECT index_column_name, option_name, option_type, option_value FROM mydataset.INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS WHERE index_schema = 'mydataset' AND index_name = 'index1' AND table_name = 'table1';
התוצאה אמורה להיראות כך:
+-------------------+-------------------+---------------+--------------+ | index_column_name | option_name | option_type | option_value | +-------------------+-------------------+---------------+--------------+ | col2 | index_granularity | STRING | GLOBAL | | col3 | index_granularity | STRING | COLUMN | +-------------------+-------------------+---------------+--------------+