Dataplex Universal Catalog 的搜尋語法

本文說明 Dataplex Universal Catalog 關鍵字搜尋和自然語言 AI 搜尋的語法。

Dataplex Universal Catalog 可讓您探索、集中編目、管理及瞭解機構的資料。如要有效率地在資料目錄中找出特定資料資產,可以使用功能強大的搜尋查詢。搜尋查詢的語法包括:

  • 簡單搜尋:如何使用單一搜尋字詞尋找資料資產。
  • 合格述詞:如何使用特定中繼資料欄位 (例如名稱、位置或說明) 縮小搜尋範圍。
  • 切面搜尋:如何根據附加的業務和技術中繼資料搜尋項目。
  • 邏輯運算子:如何使用 AND 和 OR 結合多個搜尋條件,建立複雜的查詢。瞭解這項語法後,就能快速找到所需資料。

事前準備

瞭解 Dataplex Universal Catalog 項目群組、項目、項目連結、切面、項目類型、項目連結類型和切面類型。請參閱「關於 Dataplex Universal Catalog 中的中繼資料管理」。

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

  • 關鍵字搜尋功能可讓您使用特定關鍵字、篩選條件和定義的語法尋找資源。
  • 自然語言搜尋會運用 AI 理解語意搜尋查詢,您可以使用日常用語尋找資源,不必再使用複雜的語法。

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

如要在Google Cloud 控制台中啟動 Dataplex Universal Catalog 搜尋查詢,請前往 Dataplex Universal Catalog 的「Search」(搜尋) 頁面,然後選取「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
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 除外。

後續步驟