תחביר החיפוש ב-Knowledge Catalog

בעזרת Knowledge Catalog תוכלו לגלות את הנתונים של הארגון, לקטלג אותם באופן מרכזי, לנהל אותם ולהבין אותם. כדי למצוא ביעילות נכסי נתונים ספציפיים ב-Data 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 כטוקן בתיאור המשאב. לדוגמה:
  • description:"products" מציג את כל המשאבים שהאסימון products מופיע בתיאור שלהם. לדוגמה, "רשימת מוצרים במלאי".
  • description:"prod" לא מציג את המשאבים שכוללים את האסימון products בתיאור. במקום זאת, מוצגים כל המשאבים שכוללים את הטוקן prod בתיאור. לדוגמה, prod environment.
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

הפונקציה מחפשת משאבים במיקום שצוין עם שם מדויק. נדרש התנאי =. לדוגמה, location=us-central1 תואם לנכסים שמארחים באיווה.

נכסי BigQuery Omni תומכים במאפיין הזה באמצעות שם המיקום של BigQuery Omni. לדוגמה, ‫location=aws-us-east-1 תואם לנכסי 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).

אופרטורים ופורמטים נתמכים

  • אופרטורים נתמכים: :, =, <, >, <=, >=, =>, =<
  • ימים יחסיים (-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.

התחביר של מסנן זמן

בטבלה הבאה מוסבר התחביר של מסנן הזמן:

קטגוריית הפורמט תחביר תקין תחביר לא תקין תיאור
יחידות זמן יחסיות
  • createtime>-30d (ב-30 הימים האחרונים)
  • createtime<=-7d (לפני 7 ימים או יותר)
  • updatetime=-1d (היום הקודם)
  • updatetime>=-90d
  • createtime>-24h
  • createtime>-60m
  • createtime>-2w
  • createtime>30d
  • רק יחידות זמן שליליות (-Nd) נתמכות לזמן יחסי.
  • אין תמיכה ביחידות קצרות יותר (שעות h, דקות m) וביחידות ארוכות יותר (שבועות w, חודשים m).
  • היסטים חיוביים בלי סימן מינוס בהתחלה (-) הם לא תקינים.
תאריכים ביומן
  • createtime:2025-01-15
  • createtime>2025-01-01
  • createtime<=2025-06-30
  • createtime:2025/01/15
  • createtime:2025-01
  • createtime:2025
  • createtime:15-01-2025
  • createtime:Jan-15-2025
  • createtime:01/15/2025
  • התאריכים צריכים להיות בפורמט YYYY-MM-DD או YYYY/MM/DD.
  • פורמטים עם סדר רכיבים לא סטנדרטי (למשל DD-MM-YYYY או MM/DD/YYYY) או שמות חודשים לא תקינים.
חותמות זמן ואזורי זמן
  • createtime:2025-01-15T05:30:00
  • createtime>2025-01-15T05:30:00Z
  • createtime:2025-01-15T05:30
  • createtime:2025-01-15T05:30:00-08:00
  • createtime:2025-01-15T05:30:00 EST
  • createtime:2025-01-15T05:30:00+05:30
  • כל חותמות הזמן נבדקות לפי שעון GMT/UTC.
  • אין תמיכה בהיסטים של אזורי זמן שאינם GMT (כמו -08:00 או +05:30) ובקיצורים של אזורי זמן (כמו EST או PST).
טווחים של שעות ביום
  • createtime>=2025-01-15T09:00:00 createtime<=2025-01-15T17:00:00
  • createtime:09:00:00..17:00:00
  • createtime:09:00-17:00
  • אין תמיכה בתחביר של טווח שעות ביום.
  • במקום זאת, אפשר להשתמש בהשוואות נפרדות של הגבול התחתון והגבול העליון עם מחרוזות מלאות של תאריך ושעה.
תאריכים בשפה טבעית
  • createtime=-1d
  • createtime>-30d
  • createtime:yesterday
  • createtime:"last week"
  • createtime:today
  • אין תמיכה בצירופי מילים של תאריכים בשפה טבעית בתוך מוגדרים של createtime או updatetime.
  • אפשר להשתמש בתחביר של ימים יחסיים (-1d, -7d) או בתאריכים מפורשים.

מסננים של תוויות

כדי לסנן משאבים לפי תוויות שמצורפות אליהם, משתמשים בפרדיקט 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.

אפשר להשתמש בתחביר של שאילתות כדי לחפש רשומות לפי ההיבטים שצורפו אליהן.

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

מגדיר תיאור
aspect:x
או
has:x
המחרוזת x מופיעה כרצף משנה בנתיב המלא של סוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID
aspect=x
או
has=x
התאמה ל-x כנתיב המלא לסוג ההיבט של היבט שמצורף לרשומה, בפורמט projectid.location.ASPECT_TYPE_ID
x
OPERATOR
value

חיפוש ערכים של שדות מאפיינים. התאמה ל-x כמחרוזת משנה של הנתיב המלא לסוג ההיבט ולשם השדה של היבט שמצורף לרשומה, בפורמטים הבאים:

  • תחביר לסוגי היבטים של המערכת:

    • ASPECT_TYPE_ID.FIELD_NAME
    • dataplex-types.ASPECT_TYPE_ID.FIELD_NAME
    • dataplex-types.LOCATION.ASPECT_TYPE_ID.FIELD_NAME

    לדוגמה, השאילתות הבאות מתאימות לרשומות שבהן הערך של השדה type בהיבט bigquery-dataset הוא default:

    • bigquery-dataset.type=default
    • dataplex-types.bigquery-dataset.type=default
    • dataplex-types.global.bigquery-dataset.type=default
  • תחביר לסוגי היבטים מותאמים אישית:

    • אם ההיבט נוצר באזור הגלובלי: PROJECT_ID.ASPECT_TYPE_ID.FIELD_NAME
    • אם ההיבט נוצר באזור ספציפי: PROJECT_ID.REGION.ASPECT_TYPE_ID.FIELD_NAME

    לדוגמה, השאילתות הבאות תואמות לרשומות שבהן הערך של השדה is-enrolled בהיבט employee-info הוא true.

    • example-project.us-central1.employee-info.is-enrolled=true
    • example-project.employee-info.is-enrolled=true

    רשימת האופרטורים הנתמכים תלויה בסוג השדה בהיבט, באופן הבא:

    • מחרוזת: = (התאמה מדויקת)
    • כל סוגי המספרים: =, :, <, >, <=, >=, =>, =<
    • Enum: =
    • Datetime: כמו במספרים, אבל הערכים להשוואה נחשבים לתאריכים ושעות במקום למספרים
    • בוליאני: =

אפשר לחפש רק בשדות ברמה העליונה של ההיבט.

אופרטורים לוגיים

אפשר לשלב כמה פרדיקטים בשאילתה באמצעות אופרטורים לוגיים. הערה: האופרטורים הלוגיים AND, OR ו-NOT הם תלויי רישיות (case-sensitive) וחייבים להיות באותיות רישיות.

AND אופרטור

אם מפרידים בין כמה מונחי חיפוש או פרדיקטים באמצעות רווח, המערכת מניחה שרוצים להשתמש באופרטור הלוגי AND, כך שלא צריך לכתוב אותו במפורש.

בדוגמאות הבאות אפשר לראות איך יוצרים שאילתות באמצעות האופרטור AND.

  • חיפוש טבלאות BigQuery

    system=bigquery type=table
    
  • חיפוש משאבים בפרויקט banking-prod עם עמודה בשם customer_id

    projectid: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.

  • חיפוש כל הטבלאות חוץ מאלה שבפרויקט ארגז חול

    • שימוש באופרטור NOT
    type=table NOT projectid:sandbox-project
    
    • שימוש במקף
    type=table -projectid:sandbox-project
    
  • חיפוש כל המשאבים ב-BigQuery שלא מכילים את המחרוזת test בשם שלהם

    system=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).

המאמרים הבאים