התצוגה SEARCH_INDEX_COLUMN_OPTIONS

התצוגה INFORMATION_SCHEMA.SEARCH_INDEX_COLUMN_OPTIONS מכילה שורה אחת לכל קבוצת אפשרויות שמוגדרת בעמודה עם אינדקס לחיפוש בטבלאות במערך נתונים.

ההרשאות הנדרשות

כדי לראות את המטא-נתונים של אינדקס החיפוש, צריך לקבל את ההרשאה bigquery.tables.get או bigquery.tables.list לניהול זהויות והרשאות גישה (IAM) בטבלה עם האינדקס. כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל לפחות אחת מההרשאות האלה:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer
  • roles/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       |
+-------------------+-------------------+---------------+--------------+