Dataplex Universal Catalog 的搜尋語法

本文將說明 Dataplex Universal Catalog 搜尋查詢的語法。閱讀本文前,請務必先瞭解 Dataplex Universal Catalog 中繼資料管理的概念,例如項目、切面、切面類型、項目群組和項目類型。詳情請參閱「關於 Dataplex Universal Catalog 中的中繼資料管理」。

Dataplex Universal Catalog 提供兩種搜尋模式:關鍵字搜尋和自然語言搜尋 (搶先版)。

您可以使用特定關鍵字、篩選器和定義的語法,透過關鍵字搜尋尋找資源。

自然語言搜尋功能可擴充關鍵字搜尋,支援自然語言查詢。您可以使用日常用語尋找資源,不必再使用複雜的語法。

本文涵蓋關鍵字和自然語言搜尋的語法。

如要在Google Cloud 控制台中啟動 Dataplex Universal Catalog 搜尋查詢,請前往 Dataplex Universal Catalog 的「Search」(搜尋) 頁面,然後選取「Dataplex Universal Catalog」(Dataplex Universal Catalog) 做為搜尋平台。

前往「Search」(搜尋) 頁面

詳情請參閱「在 Dataplex Universal Catalog 中搜尋資源」。

輸入字詞或詞組即可尋找資產,不必使用任何特定語法。 Dataplex Universal Catalog 會比對查詢與多個中繼資料欄位,包括:

  • 資源的名稱、顯示名稱或說明
  • 資源類型
  • 專案 ID
  • 總覽說明
  • 資源結構定義中的資料欄名稱 (或巢狀資料欄名稱)
  • 資料欄說明
  • 完整名稱
  • 聯絡人
  • 切面

使用查詢語法搜尋

如要進行更精確的搜尋,可以使用特定語法建構查詢,包括限定符、邏輯運算子和面向搜尋。

限定述詞

您可以限定述詞,方法是在述詞前面加上一個鍵,藉此將比對作業限制於中繼資料的特定部分:

  • 等號 (=) 可將搜尋範圍限制為完全比對。
  • 鍵後方的半形冒號 (:) 會將述詞比對至搜尋結果值中的子字串或符記。

斷詞會將一段文字拆解為一連串符記,一個符記通常會對應至一個字詞。

例如:

  • name:foo 會選取名稱包含 foo 子字串的資源,例如 foo1barfoo
  • description:foo 會選取說明中含有 foo 權杖的資源,例如 barfoo
  • location=foo 會比對指定位置中的資源與 foo (位置名稱)。

這些限定符的行為在不同搜尋模式中可能會略有差異,詳情請參閱下列章節。

述詞鍵 typesystemlocationorgid 僅支援完全相符 (=) 資格條件,不支援子字串資格條件 (:)。舉例來說,type=fooorgid=number

Dataplex Universal Catalog 支援下列關鍵字搜尋限定詞:

限定詞 說明
name:x x 做為資源 ID 的子字串比對。
displayname:x x 做為資源顯示名稱的子字串比對。
column:x 比對 x 做為資源結構定義中資料欄名稱 (或巢狀資料欄名稱) 的子字串。
description:x x 做為資源說明中的符記比對。
label:bar 比對具有標籤 (具有某些值) 的 BigQuery 資源,且標籤鍵包含 bar 做為子字串。
label=bar 比對具有標籤 (含某些值) 的 BigQuery 資源,且標籤鍵等於 bar (字串)。
label:bar:x 比對附加至 BigQuery 資源的鍵 bar,做為標籤值中的子字串。x
label=foo:bar 比對鍵等於 foo 且鍵值等於 bar 的 BigQuery 資源。
label.foo=bar 比對鍵等於 foo 且鍵值等於 bar 的 BigQuery 資源。
label.foo 比對標籤鍵等於 foo (字串) 的 BigQuery 資源。
type=TYPE 比對特定項目類型或類型別名的資源。
projectid:bar 比對 Google Cloud 專案中的資源,這些專案的 ID 包含 bar 做為子字串。
parent:x x 做為資源階層式路徑的子字串比對。父項路徑是父項資源的 fully_qualified_name
orgid=number 符合 ID 值為 number 的 Google Cloud 機構中的資源。
system=SYSTEM 比對指定系統的資源。
location=LOCATION

在指定位置中,尋找名稱完全相符的資源。 舉例來說,location=us-central1 符合愛荷華州代管的資產。

BigQuery Omni 資產會使用 BigQuery Omni 位置名稱,支援這個限定符。舉例來說, location=aws-us-east-1 會比對北維吉尼亞的 BigQuery Omni 資產。

createtime

尋找在指定日期/時間之前、之後或期間建立的資源。

例如:

  • createtime:2019-01-01 於 2019 年 1 月 1 日建立的資源相符項目。
  • createtime<2019-02 比對 2019-02-01T00:00:00 之前建立的資源。
  • createtime>2019-02 比對 2019-02-01T00:00:00 後建立的資源。

時間戳記格式:YYYY-MM-DDThh:mm:ss

所有時間戳記必須採用 GMT,系統不支援時區。系統支援部分時間戳記、連字號 (-) 日期分隔符號和斜線 (/) 日期分隔符號。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
updatetime

尋找在指定日期/時間內、之前或之後更新的資源。

例如:

  • updatetime:2019-01-01符合 2019 年 1 月 1 日更新的資源。
  • updatetime<2019-02 比對 2019-02-01T00:00:00 之前更新的資源。
  • updatetime>2019-02 比對 2019-02-01T00:00:00 之後更新的資源。

時間戳記格式:YYYY-MM-DDThh:mm:ss

所有時間戳記必須採用 GMT,系統不支援時區。系統支援部分時間戳記、連字號 (-) 日期分隔符號和斜線 (/) 日期分隔符號。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
fully_qualified_name:x xfully_qualified_name 的子字串相符。
fully_qualified_name=x x 相符,如 fully_qualified_name

述詞鍵 typesystemlocationdescription,以及面向搜尋 (不含 has) 僅支援完全比對 (=) 資格條件,不支援子字串資格條件 (:)。例如 type=foo

Dataplex Universal Catalog 支援下列自然語言搜尋限定詞:

限定詞 說明
name:x x 做為資源 ID 或資源顯示名稱的子字串比對。
displayname:x x 做為資源顯示名稱的子字串比對。
column:x 比對 x 做為資源結構定義中資料欄名稱 (或巢狀資料欄名稱) 的子字串。
description:x x 做為資源說明中的符記比對。
labels:bar 比對具有標籤 (具有某些值) 的 BigQuery 資源,且標籤鍵包含 bar 做為子字串。
labels=bar 比對具有標籤 (含某些值) 的 BigQuery 資源,且標籤鍵等於 bar (字串)。
labels.bar:x 比對附加至 BigQuery 資源的鍵 bar,做為標籤值中的子字串。x
labels.foo=bar 比對鍵等於 foo 且鍵值等於 bar 的 BigQuery 資源。
type=TYPE 比對特定項目類型或類型別名的資源。
projectid:bar 比對 Google Cloud 專案中的資源,這些專案的 ID 包含 bar 做為子字串。
parent:x 比對 x 做為資源階層式路徑的子字串。
system=SYSTEM 比對指定系統的資源。
location=LOCATION

在指定位置中,尋找名稱完全相符的資源。 舉例來說,location=us-central1 符合愛荷華州代管的資產。

BigQuery Omni 資產會使用 BigQuery Omni 位置名稱,支援這個限定符。舉例來說, location=aws-us-east-1 會比對北維吉尼亞的 BigQuery Omni 資產。

createtime

尋找在指定日期/時間之前、之後或期間建立的資源。

例如:

  • createtime:2019-01-01 會比對 2019 年 1 月 1 日建立的所有資源。
  • createtime<2019-02 比對 2019-02-01T00:00:00 之前建立的所有資源。
  • createtime>2019-02 比對 2019-02-01T00:00:00 後建立的所有資源。
  • createtime>-30d 符合過去 30 天內建立的所有資源。
  • createtime<=-30d 會比對 30 天前或更早建立的所有資源。
  • createtime<=-1d 符合前一天建立的所有資源。

時間戳記格式:YYYY-MM-DDThh:mm:ss

所有時間戳記必須採用 GMT,系統不支援時區。系統支援部分時間戳記、連字號 (-) 日期分隔符號和斜線 (/) 日期分隔符號。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22
updatetime

尋找在指定日期/時間內、之前或之後更新的資源。

例如:

  • updatetime:2019-01-01符合 2019 年 1 月 1 日更新的所有資源。
  • updatetime<2019-02 比對 2019-02-01T00:00:00 之前更新的所有資源。
  • updatetime>2019-02 比對 2019-02-01T00:00:00 後更新的所有資源。
  • updatetime>-30d 符合過去 30 天內更新的所有資源。
  • updatetime<-30d 會比對 30 天前或更早更新的所有資源。
  • updatetime=-1d 比對前一天更新的所有資源。
  • updatetime>=-30d符合過去 30 天內更新的所有資源。
  • updatetime<=-30d 會比對 30 天前或更早更新的所有資源。

時間戳記格式:YYYY-MM-DDThh:mm:ss

所有時間戳記必須採用 GMT,系統不支援時區。系統支援部分時間戳記、連字號 (-) 日期分隔符號和斜線 (/) 日期分隔符號。

例如:

  • 2010-10-22T05:36:24
  • 2010-10-22T05:36
  • 2010-10-22T05
  • 2010-10-22
  • 2010-10
  • 2010
  • 2010/10/22

如要根據附加的層面搜尋項目,請使用下列查詢語法。

關鍵字搜尋

限定詞 說明
aspect:x 以附加至項目的構面類型完整路徑的子字串形式比對 x,格式為 projectid.location.ASPECT_TYPE_ID
aspect=x 比對 x,做為附加至項目的構面類型完整路徑,格式為 projectid.location.ASPECT_TYPE_ID
aspect:xOPERATORvalue

搜尋顯示比例欄位值。比對 x 做為附加至項目的構面類型和構面欄位名稱完整路徑的子字串,格式為 projectid.location.ASPECT_TYPE_ID.FIELD_NAME

支援的運算子清單取決於構面中的欄位類型,如下所示:

  • 字串= (完全相符) 和 : (子字串)
  • 所有數字類型=:<><=>==>=<
  • 列舉=
  • 日期時間:與數字相同,但要比較的值會視為日期時間,而非數字
  • 布林值=

只有層面頂層欄位可供搜尋。

舉例來說,下列所有查詢都會比對項目,其中 employee-info 方面的 is-enrolled 欄位值為 true。系統也會傳回與子字串相符的其他項目。

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

自然語言搜尋

限定詞 說明
has:x 以附加至項目的構面類型完整路徑的子字串形式比對 x,格式為 projectid.location.ASPECT_TYPE_ID
has=x 比對 x,做為附加至項目的構面類型完整路徑,格式為 projectid.location.ASPECT_TYPE_ID
has:xOPERATORvalue

搜尋顯示比例欄位值。與附加至項目的層面類型和層面欄位名稱的完整路徑相符,格式如下:x

  • 系統切面類型的語法:

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

    舉例來說,以下查詢會比對項目,其中 bigquery-dataset 方面的 type 欄位值為 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

    舉例來說,以下查詢會比對項目,其中 employee-info 方面的 is-enrolled 欄位值為 true

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

    支援的運算子清單取決於構面中的欄位類型,如下所示:

    • 字串= (完全比對)
    • 所有數字類型=:<><=>==>=<
    • 列舉=
    • 日期時間:與數字相同,但要比較的值會視為日期時間,而非數字
    • 布林值=

只有層面頂層欄位可供搜尋。

邏輯運算子

查詢可能包含多個述詞與邏輯運算子。如果您未指定運算子,則默示使用邏輯 AND。舉例來說,foo bar 會傳回同時符合 foo 述詞和 bar 述詞的資源。

系統支援邏輯 AND 和邏輯 OR。例如:foo OR bar

您可以使用 - (連字號) 或 NOT 前置字串否定述詞。例如,-name:foo 會傳回名稱與 foo 述詞不符的資源。

縮寫語法

您也可以使用簡寫搜尋語法,以 | (垂直線) 代表 OR 運算子,並以 , (逗號) 代表 AND 運算子。

舉例來說,如要使用 OR 運算子搜尋多個專案中的項目,可以使用下列簡寫語法:

projectid:(id1|id2|id3|id4)

如果沒有使用縮寫語法,相同的搜尋查詢如下所示:

projectid:id1 OR projectid:id2 OR projectid:id3 OR projectid:id4

如要搜尋具有相符資料欄名稱的項目,請使用下列指令:

  • ANDcolumn:(name1, name2, name3)
  • ORcolumn:(name1|name2|name3)

這個簡短語法適用於限定述詞,但關鍵字搜尋中的 label 除外。

後續步驟