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 除外。

後續步驟