התצוגה SEARCH_INDEXES
התצוגה INFORMATION_SCHEMA.SEARCH_INDEXES מכילה שורה אחת לכל אינדקס חיפוש בקבוצת נתונים.
ההרשאות הנדרשות
כדי לראות את המטא-נתונים של אינדקס החיפוש, צריך לקבל את ההרשאה 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_INDEXES, תוצאות השאילתה מכילות שורה אחת לכל אינדקס חיפוש במערך נתונים.
לתצוגה INFORMATION_SCHEMA.SEARCH_INDEXES יש את הסכימה הבאה:
| שם העמודה | סוג נתונים | ערך |
|---|---|---|
index_catalog |
STRING |
שם הפרויקט שמכיל את מערך הנתונים. |
index_schema |
STRING |
השם של מערך הנתונים שמכיל את האינדקס. |
table_name |
STRING |
השם של טבלת הבסיס שעליה נוצר האינדקס. |
index_name |
STRING |
שם האינדקס. |
index_status |
STRING |
סטטוס האינדקס: ACTIVE, PENDING
DISABLEMENT, TEMPORARILY DISABLED או PERMANENTLY DISABLED.
|
creation_time |
TIMESTAMP |
השעה שבה נוצר האינדקס. |
last_modification_time |
TIMESTAMP |
הפעם האחרונה שבה שונתה הגדרת האינדקס. לדוגמה, מחיקה של עמודה עם אינדקס. |
last_refresh_time |
TIMESTAMP |
הפעם האחרונה שבה נתוני הטבלה נוספו לאינדקס. הערך NULL מציין שהאינדקס עדיין לא זמין. |
disable_time |
TIMESTAMP |
השעה שבה הוגדר סטטוס האינדקס ל-DISABLED. הערך הוא NULL אם סטטוס האינדקס הוא לא DISABLED. |
disable_reason |
STRING |
הסיבה להשבתת האינדקס. NULL אם סטטוס האינדקס הוא לא DISABLED. |
DDL |
STRING |
הצהרת ה-DDL ששימשה ליצירת האינדקס. |
coverage_percentage |
INTEGER |
האחוז המשוער של נתוני הטבלה שעברו אינדוקס. הערך 0%
מציין שלא ניתן להשתמש באינדקס בשאילתת SEARCH, גם אם
חלק מהנתונים כבר עברו אינדוקס. |
unindexed_row_count |
INTEGER |
מספר השורות בטבלת הבסיס שלא נוספו לאינדקס. |
total_logical_bytes |
INTEGER |
מספר הבייטים הלוגיים לחיוב באינדקס. |
total_storage_bytes |
INTEGER |
מספר הבייטים של נפח האחסון שחויבו עבור האינדקס. |
analyzer |
STRING |
כלי לניתוח טקסט שמשמש ליצירת טוקנים לאינדקס החיפוש. |
כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.
היקף ותחביר
שאילתות שמופעלות על התצוגה הזו צריכות לכלול מזהה מערך נתונים. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:
| שם התצוגה המפורטת | היקף המשאבים | היקף האזור |
|---|---|---|
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.SEARCH_INDEXES |
רמת מערך הנתונים | מיקום מערך הנתונים |
-
אופציונלי:
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. -
DATASET_ID: המזהה של מערך הנתונים. מידע נוסף מופיע במאמר בנושא מאפיין מסנן של מערך נתונים.
דוגמה
-- Returns metadata for search indexes in a single dataset.
SELECT * FROM myDataset.INFORMATION_SCHEMA.SEARCH_INDEXES;
דוגמה
בדוגמה הבאה מוצגים כל אינדקסים החיפוש הפעילים בטבלאות של מערך הנתונים my_dataset, שנמצא בפרויקט my_project. הוא כולל את השמות שלהם, את הצהרות ה-DDL ששימשו ליצירתם, את אחוז הכיסוי שלהם ואת כלי הניתוח של הטקסט שלהם. אם טבלת בסיס באינדקס קטנה מ-10GB, האינדקס שלה לא יאוכלס, ובמקרה כזה הערך של coverage_percentage יהיה 0.
SELECT table_name, index_name, ddl, coverage_percentage, analyzer
FROM my_project.my_dataset.INFORMATION_SCHEMA.SEARCH_INDEXES
WHERE index_status = 'ACTIVE';
התוצאות צריכות להיראות כך:
+-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | table_name | index_name | ddl | coverage_percentage | analyzer | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+ | small_table | names_index | CREATE SEARCH INDEX `names_index` ON `my_project.my_dataset.small_table`(names) | 0 | NO_OP_ANALYZER | | large_table | logs_index | CREATE SEARCH INDEX `logs_index` ON `my_project.my_dataset.large_table`(ALL COLUMNS) | 100 | LOG_ANALYZER | +-------------+-------------+--------------------------------------------------------------------------------------+---------------------+----------------+