שאילתות חיפוש ב-Knowledge Catalog מאפשרות לכם למצוא נכסי נתונים ספציפיים בקטלוג באמצעות התאמה סמנטית והתאמה למילות מפתח. בעזרת שילוב של שפה טבעית, מסנני מטא-נתונים ואופרטורים לוגיים, אתם יכולים לאתר רשומות רלוונטיות כדי לגלות, לנהל ולהבין את הנתונים של הארגון.
Knowledge Catalog תומך גם במצב חיפוש של מילות מפתח בלבד, כדי לאפשר תאימות לדורות קודמים. במאמר חיפוש לפי מילות מפתח בלבד מוסבר בהרחבה על המצב הזה, על המסננים שלו ועל אופן השימוש בו.
סקירה כללית של תחביר השאילתות
אפשר ליצור שאילתות חיפוש ב-Knowledge Catalog באמצעות הרכיבים הבאים:
- חיפוש פשוט: חיפוש נכסי נתונים באמצעות מונח חיפוש אחד.
- חיפוש טקסט חופשי: חיפוש נכסי נתונים באמצעות ביטויים בשפה טבעית או מילות מפתח.
- פרדיקטים לסינון: אתם יכולים לצמצם את החיפוש באמצעות שדות ספציפיים של מטא-נתונים, כמו שם, מיקום, מערכת או סוג.
- חיפוש לפי היבט: חיפוש רשומות על סמך המטא-נתונים העסקיים והטכניים שמצורפים אליהן.
- אופרטורים לוגיים: משלבים כמה קריטריונים לחיפוש באמצעות האופרטורים
AND,ORאוNOTכדי ליצור שאילתות מורכבות.
פרדיקטים לסינון
כדי לצמצם את תוצאות החיפוש, אתם יכולים להשתמש בפרדיקט לסינון ולהורות למערכת החיפוש להעריך שדה מטא-נתונים ספציפי, כמו שם הנכס, סוג הנכס או המערכת.
אפשר להוסיף לפרדיקט קידומת עם מפתח שמגביל את ההתאמה לחלק ספציפי של מטא-נתונים:
- סימן שווה (
=) כדי להגביל את החיפוש להתאמה מדויקת. - נקודתיים (
:) אחרי המפתח כדי להתאים את הפרדיקט למחרוזת משנה או לאסימון בתוך הערך בתוצאות החיפוש.
בתהליך הטוקניזציה, רצף הטקסט מפוצל לסדרה של טוקנים, כשכל טוקן בדרך כלל תואם למילה אחת.
לדוגמה:
- הערך
name:fooבוחר משאבים עם שמות שמכילים את מחרוזת המשנהfoo, כמוfoo1ו-barfoo. - השאילתה
description:fooבוחרת משאבים שהתיאור שלהם מכיל את האסימוןfoo, כמוbarו-foo. -
location=fooתואם למשאבים במיקום שצוין, כאשרfooהוא שם המיקום.
מגדירים נתמכים
החיפוש ב-Knowledge Catalog תומך במאפיינים הבאים:
| מגדיר | תיאור |
|---|---|
name:x |
התאמה ל-x כמחרוזת משנה של מזהה המשאב או השם המוצג של המשאב. |
displayname:x |
התאמה ל-x כמחרוזת משנה של השם המוצג של המשאב. |
column:x |
התאמה ל-x כמחרוזת משנה של שם העמודה (או שם העמודה בתצוגת עץ) בסכימה של המשאב. |
description:x |
התאמה ל-x כאסימון בתיאור המשאב. לדוגמה:
|
labels:bar |
התאמה למשאבים שיש להם תווית (עם ערך כלשהו) ומפתח התווית מכיל את bar כמחרוזת משנה. |
labels=bar |
התאמה למשאבים שיש להם תווית (עם ערך כלשהו) ומפתח התווית שווה ל-bar כמחרוזת. |
labels.bar:x |
התאמה ל-x כמחרוזת משנה בערך של תווית עם המפתח bar שמצורפת למשאב. |
labels.foo=bar |
התאמה למשאבים שבהם המפתח שווה ל-foo וערך המפתח שווה ל-bar. |
type=TYPE |
התאמה למשאבים של סוג רשומה ספציפי או כינוי הסוג שלו. נדרש המאפיין =. |
projectid:bar |
התאמה למשאבים בפרויקטים של Google Cloud שהמזהה שלהם מכיל את מחרוזת המשנה bar. |
parent:x |
התאמה ל-x כמחרוזת משנה של הנתיב ההיררכי של משאב. |
system=SYSTEM |
התאמה למשאבים ממערכת מסוימת. נדרש המאפיין =. |
location=LOCATION |
התאמה למשאבים במיקום מסוים עם שם מדויק. נדרש המאפיין נכסי BigQuery Omni תומכים במאפיין הזה באמצעות שם המיקום של BigQuery Omni.
לדוגמה, |
createtime |
חיפוש משאבים שנוצרו בתאריך, בחותמת זמן או בזמן יחסי בימים מסוימים, או לפני או אחרי תאריך, חותמת זמן או זמן יחסי בימים מסוימים. במאמר מסנני זמן מפורטים הפורמטים והאופרטורים הנתמכים. |
updatetime |
חיפוש משאבים שעודכנו בתוך, לפני או אחרי תאריך, חותמת זמן או זמן יחסי בימים. במאמר מסנני זמן מפורטים הפורמטים והאופרטורים הנתמכים. |
מילות התאמה מדויקת
מפתחות הפרדיקטים type, system, location ו-aspect search (לא כולל has) תומכים רק במגדיר ההתאמה המדויקת (=), ולא במגדיר מחרוזת המשנה (:).
כדי להשתמש בהתאמה מדויקת, צריך להשתמש בתחביר הבא:
| מפתח פרדיקט | תחביר נכון | תחביר שגוי |
|---|---|---|
type |
type=table (או type=view, type=dataset) |
type:table או type:tab |
system |
system=bigquery (או system=spanner) |
system:bigquery או system:big |
location |
location=us-central1 (או location=europe-west1) |
location:us-central1 או location:us |
מגדירי מחרוזת משנה
פרדיקטים כמו name, displayname, column, projectid ו-parent תומכים בהתאמה של מחרוזת משנה עם המאפיין המבחין נקודתיים (:):
- השאילתה
name:transactionsתואמת למשאבים שהמזהה או השם המוצג שלהם מכילים אתtransactions. לדוגמה,daily_transactions_rawו-transactions_v2. - השאילתה
column:customer_idמחפשת משאבים עם שם עמודה שמכיל אתcustomer_id. -
projectid:prodתואם למשאבים בפרויקטים שהמזהה שלהם מכיל אתprod. לדוגמה,finance-prod-2026.
מסנני זמן
אפשר לסנן משאבים לפי זמן היצירה (createtime) או זמן העדכון האחרון (updatetime).
אופרטורים ופורמטים נתמכים
- מפעילים נתמכים:
:,=,<,>,<=,>=,=>,=< - Relative days (
-Nd): סינון לפי מספר ימים יחסי בעבר (לדוגמה,-30d, -7d, -1d). - תאריכים ביומן (
YYYY-MM-DDאוYYYY/MM/DD): סינון לפי תאריך ספציפי בשעון GMT/UTC. - חותמות זמן מלאות (
YYYY-MM-DDTHH:MM:SSאוYYYY-MM-DDTHH:MM:SSZ): סינון לפי חותמת זמן מדויקת ב-GMT או ב-UTC. אפשר גם להשתמש בחותמות זמן חלקיות, כמוYYYY-MM-DDTHH:MMאוYYYY-MM-DDTHH.
תחביר של מסנן זמן
בטבלה הבאה מוסבר התחביר של מסנן הזמן:
| קטגוריית הפורמט | תחביר תקין | התחביר לא תקין | תיאור |
|---|---|---|---|
| יחידות זמן יחסיות |
|
|
|
| תאריכים ביומן |
|
|
|
| חותמות זמן ואזורי זמן |
|
|
|
| טווחי שעות ביום |
|
|
|
| תאריכים בשפה טבעית |
|
|
|
מסננים של תוויות
אפשר להשתמש בפרדיקט labels כדי לסנן משאבים לפי תוויות מצורפות. אפשר לסנן לפי מפתח תווית, ערך תווית או שניהם:
| מבנה השאילתה | דוגמה | תיאור |
|---|---|---|
labels=KEY |
labels=environment |
התאמה למשאבים שיש להם תווית עם המפתח המדויק environment, בלי קשר לערך שלו. |
labels:KEY_SUBSTRING |
labels:tier |
התאמה למשאבים עם מפתח תווית שמכיל את tier כמחרוזת משנה (כמו service_tier או storage_tier). |
labels.KEY=VALUE |
labels.env=prod |
התאמה למשאבים שבהם מפתח התווית הוא env והערך שלו הוא בדיוק prod. |
labels.KEY:VALUE_SUBSTRING |
labels.owner:analytics |
התאמה למשאבים עם מפתח התווית owner, כשהערך מכיל את analytics כמחרוזת משנה (כמו analytics-team או data-analytics). |
| תוויות מרובות (AND) | labels.env=prod labels.data_tier=tier1 |
התאמה למשאבים שצורפו אליהם גם התווית env=prod וגם התווית data_tier=tier1. |
| משולב עם מערכת וסוג | system=bigquery type=table labels.env=prod labels.confidentiality=high |
התאמה לטבלאות ב-BigQuery שמסומנות בתוויות env=prod ו-confidentiality=high. |
חיפוש לפי היבט
אתם יכולים להשתמש בתחביר של שאילתות כדי לחפש רשומות על סמך ההיבטים שמצורפים אליהן.
ההתאמה של מחרוזת המשנה מנסה להתאים למספר מוגבל של היבטים. אם אתם לא מוצאים את הרשומה באמצעות חלק מהנתיב, השתמשו בנתיב המלא כדי לצמצם את החיפוש ולהגדיל את ה-recall.
| מגדיר | תיאור |
|---|---|
aspect:xאו has:x |
התאמה ל-x כמחרוזת משנה של הנתיב המלא לסוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID |
aspect=xאו has=x |
התאמה ל-x כנתיב המלא לסוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID |
x |
חיפוש ערכים של שדות היבט. התאמה ל-
אפשר לחפש רק בשדות ברמה העליונה של ההיבט. |
אופרטורים לוגיים
שאילתה יכולה לשלב כמה פרדיקטים באמצעות אופרטורים לוגיים.
הערה: האופרטורים הלוגיים AND, OR ו-NOT הם תלויי אותיות רישיות (case-sensitive) וצריך להזין אותם באותיות רישיות.
אופרטור AND
אם מפרידים בין כמה מונחי חיפוש או פרדיקטים באמצעות רווח, משתמע מכך שיש ביניהם AND לוגי, כלומר לא צריך לכתוב אותו במפורש.
בדוגמאות הבאות מוסבר איך ליצור שאילתות באמצעות האופרטור AND.
חיפוש טבלאות ב-BigQuery
system=bigquery type=tableחיפוש משאבים בפרויקט
banking-prodעם עמודה בשםcustomer_idprojectid:banking-prod column:customer_idאם צריך, אפשר להשתמש באופרטור
ANDמפורש:system=bigquery AND type=table AND location=us-central1
אופרטור OR
משתמשים באופרטור OR כדי להתאים לאחד מכמה תנאים. כשמשלבים את OR עם קריטריונים אחרים, משתמשים בסוגריים ( ) כדי לקבץ את הביטויים ולהגדיר את סדר הקדימויות.
בדוגמאות הבאות מוסבר איך ליצור שאילתות באמצעות האופרטור OR.
חיפוש טבלאות ותצוגות ב-BigQuery
system=bigquery (type=table OR type=view)חיפוש טבלאות בכמה מערכות
(system=bigquery OR system=spanner) type=tableחיפוש רשומות בקבוצות נתונים של שיווק או של כספים
system=bigquery (parent:marketing_analytics OR parent:finance_analytics)
אופרטור NOT
אפשר לשלול פרדיקט על ידי הוספת הקידומת NOT (באותיות רישיות) או - (מקף).
בדוגמאות הבאות מוסבר איך ליצור שאילתות באמצעות האופרטור NOT.
חיפוש כל הטבלאות, חוץ מאלה שבפרויקט בארגז חול (sandbox)
- שימוש באופרטור
NOT
type=table NOT projectid:sandbox-project- שימוש במקף
type=table -projectid:sandbox-project- שימוש באופרטור
חיפוש כל המשאבים ב-BigQuery שהשם שלהם לא מכיל את
testsystem=bigquery -name:test
תחביר מקוצר
אם אתם רוצים להשתמש בתחביר המקוצר, השתמשו ב-| (קו אנכי) לאופרטורים של OR וב-, (פסיק) לאופרטורים של AND בתוך סוגריים.
התחביר המקוצר הזה פועל בפרדיקטים לסינון.
חיפוש בכמה מזהי פרויקטים
- משתמשים באופרטור
OR:
projectid:(finance-prod|sales-prod|analytics-prod)- שימוש בסוגריים:
projectid:finance-prod OR projectid:sales-prod OR projectid:analytics-prod- משתמשים באופרטור
חיפוש רשומות שתואמות לכמה שמות של עמודות (
AND)column:(customer_id,transaction_date,amount)חיפוש רשומות שתואמות לאחד מכמה שמות של עמודות (
OR)column:(customer_id|user_id|client_id)
המדיניות בנושא תווים כלליים לחיפוש
תחביר החיפוש של Knowledge Catalog לא תומך בתווים כלליים לחיפוש, כמו * או ?, במחרוזות של שאילתות או בפרדיקטים.
אם מוסיפים כוכבית (*) או סימן שאלה (?) לשאילתה, הם נחשבים לתווים מילוליים ולא לתווים כלליים לחיפוש בהתאמה לדפוס.
לדוגמה, כדי לחפש טבלאות שהשמות שלהן מסתיימים ב-_masked:
- נתמך:
name:_masked: משתמש במגדיר:להתאמה של מחרוזת משנה כדי למצוא את כל המשאבים שהשם שלהם מכיל את_masked, כמוcustomer_records_maskedאוtransactions_masked. - לא נתמך:
name:*_masked: התו*נחשב לתו מילולי, ולא לתו כללי לחיפוש בתבנית.
סוגריים עגולים
לסוגריים בשאילתות חיפוש יש פונקציות טכניות ספציפיות. אם משתמשים בסוגריים יותר מדי או בשאילתות בשפה טבעית, זה עלול לבלבל את מנתח החיפוש ולפגוע באיכות התוצאות.
שפה טבעית פשוטה
כששואלים שאלה עסקית, צריך להעביר את השאילתה בטקסט פשוט. אל תקיפו אותו בסוגריים. לדוגמה, כותבים:
Find customer orders containing email addresses
תחביר מקוצר של פרדיקט
סוגריים יעילים מאוד כשמשתמשים בהם עם מפתחות פרדיקט כדי לרשום כמה תנאי OR ו-AND בפורמט קומפקטי.
קיבוץ מפתחות של פרדיקטים באמצעות
OR(|)חיפוש רשומות שנמצאות באחד מהפרויקטים שברשימה באמצעות (
|)projectid:(finance-prod|finance-test|analytics-raw)חיפוש רשומות שנמצאות באחד מהפרויקטים שברשימה באמצעות (
OR)
projectid:finance-prod OR projectid:finance-test OR projectid:finance-rawקיבוץ מפתחות של פרדיקטים באמצעות
AND(,)- חיפוש רשומות שמכילות את כל העמודות שצוינו באמצעות (
,)
column:(customer_id, order_date, total_amount)- חיפוש רשומות שמכילות את כל העמודות שצוינו באמצעות (
AND)
column:customer_id AND column:order_date AND column:total_amount- חיפוש רשומות שמכילות את כל העמודות שצוינו באמצעות (
חיפוש היברידי
אתם יכולים לשלב שאילתה בשפה טבעית עם מסננים קומפקטיים.
לדוגמה, כדי למצוא טבלאות שמציינות משתמשים פעילים בחודש, אבל להגביל את החיפוש לפרויקטים שצוינו, משתמשים בשאילתה הבאה:
monthly active users type=table projectid:(data-warehouse|analytical-tier)
שיטות מומלצות לשימוש בסוגריים
אל תקיפו את כל השאלה בסוגריים, כי המנוע הסמנטי עלול להתייחס לסוגריים כתווים מילוליים, וכתוצאה מכך התוצאות יהיו פחות רלוונטיות.
- לא נכון:
(Show me datasets about US population by state) - נכון:
Show me datasets about US population by state
- לא נכון:
אל תערבבו עצים בוליאניים מורכבים ומקוננים עם סוגריים בתוך שדה השפה הטבעית. החיפוש מותאם לכוונות בשפה טבעית. אם השאילתה מסובכת מדי וכוללת סוגריים ובלוקים לוגיים מפורשים, המנתח עלול להתבלבל.
- לא נכון:
(revenue data) AND system=BIGQUERY AND projectid:(data-warehouse | analytical-tier) - נכון:
revenue data system=bigquery projectid:(data-warehouse|analytical-tier)
- לא נכון:
אל תוסיפו רווחים באופן שרירותי, אלא אם הם חלק מהערך.
- לא נכון:
column:( email | id ) - נכון:
column:(email|id).
- לא נכון: