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

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

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

  • מפעילים נתמכים: :, =, <, >, <=, >=, =>, =<
  • ‫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.

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

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

קטגוריית הפורמט תחביר תקין התחביר לא תקין תיאור
יחידות זמן יחסיות
  • ‫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.

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

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

מגדיר תיאור
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

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

    • מחרוזת: = (התאמה מדויקת)
    • כל סוגי המספרים: =, :, <, >, <=, >=, =>, =<
    • thought 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.

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

    • שימוש באופרטור 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).

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