שאילתות חיפוש ב-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
סדר קדימויות של אופרטורים
כשמשתמשים בכמה אופרטורים באותה שאילתה בלי קיבוץ מפורש, המנתח מעריך את האופרטורים לפי הסדר הבא, מהקדימות הגבוהה ביותר לנמוכה ביותר:
- סוגריים
( ) NOTאו-ORAND, כוללANDמרומז שמופרד ברווחים
מכיוון של-OR יש קדימות גבוהה יותר גם מ-AND מפורש וגם מ-AND מרומז שמופרד ברווחים, פעולות OR מוערכות לפני פעולות AND.
אפשר להשתמש בסוגריים ( ) כדי לקבץ ביטויים ולשנות את סדר הקדימויות שמוגדר כברירת מחדל:
- קדימות ברירת המחדל: השאילתות
projectid:banking-prod AND type=table OR type=viewו-projectid:banking-prod type=table OR type=viewמוערכות כ-projectid:banking-prod AND (type=table OR type=view). - שינוי ברירת המחדל באמצעות סוגריים: השאילתה
(projectid:banking-prod AND type=table) OR type=viewמשנה את ברירת המחדל של סדר הקדימויות ומעריכה קודם את הביטויAND.
תחביר מקוצר
אם אתם רוצים להשתמש בתחביר המקוצר, השתמשו ב-| (קו אנכי) לאופרטורים מסוג 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).
- לא נכון:
המאמרים הבאים
- איך מחפשים משאבים ב-Knowledge Catalog
- מידע נוסף על ניהול מטא-נתונים ב-Knowledge Catalog
- איך להעשיר רשומות וקישורים לרשומות באמצעות היבטים
- איך מנהלים רשומות ומטמיעים מקורות בהתאמה אישית