View a markdown version of this page

的語意搜尋 AWS Glue Data Catalog - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的語意搜尋 AWS Glue Data Catalog

注意

商業內容和語意搜尋為 預覽版 AWS Glue ,可能會有所變更。

除了確切關鍵字比對之外,語意搜尋還可讓您透過意義探索資料資產。結果會依與查詢的語意相似度進行排名。您可以使用資產類型、中繼資料欄位和詞彙表術語的篩選條件來縮小結果範圍。

使用 SearchAssets API

SearchAssets API 接受 SearchTextFilterClause或兩者。兩者皆未提供時,會傳回所有資產。選用參數:SortMaxResultsNextToken

文字搜尋

aws glue search-assets \ --search-text "customer purchases"

輸出範例:

{ "Items": [ {"Id": "c9vq7sh2fk4t2h", "AssetName": "Customer Sales Transactions", "AssetTypeId": "Table"} ] }

使用 限制結果--max-results

aws glue search-assets \ --search-text "quarterly revenue" \ --max-results 5

篩選搜尋結果

使用 FilterClause縮小結果範圍。支援的篩選條件類型:

  • AttributeFilter – 運算子:equalsgreaterThangreaterThanOrEqualslessThanlessThanOrEquals、、notExists

  • AndAllFilters – 所有篩選條件都必須相符 (邏輯 AND)。

  • OrAnyFilters – 至少一個必須符合 (邏輯 OR)。

依單一屬性篩選

僅篩選至資料表資產:

aws glue search-assets \ --search-text "revenue" \ --filter-clause '{ "AttributeFilter": { "Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"} } }'
將篩選條件與 AND 邏輯結合

尋找時間戳記之後更新的資料表資產:

aws glue search-assets \ --search-text "customer data" \ --filter-clause '{ "AndAllFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "updatedAt", "Operator": "greaterThan", "Value": {"LongValue": 1718400000}}} ] }'
將篩選條件與 OR 邏輯結合

搜尋資料表或技能資產:

aws glue search-assets \ --search-text "customer data" \ --filter-clause '{ "OrAnyFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}} ] }'
依詞彙表字詞篩選

篩選以使用特定詞彙表詞彙標記的資產 (依詞彙 ID):

aws glue search-assets \ --search-text "financial data" \ --filter-clause '{ "AttributeFilter": { "Attribute": "glossaryTerms", "Operator": "equals", "Value": {"StringValue": "glossary-term-id"} } }'
使用巢狀 AND 和 OR 篩選條件

尋找具有特定詞彙表詞彙的資料表或技能資產:

aws glue search-assets \ --search-text "customer" \ --filter-clause '{ "AndAllFilters": [ {"OrAnyFilters": [ {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}, {"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}} ]}, {"AttributeFilter": {"Attribute": "glossaryTerms", "Operator": "equals", "Value": {"StringValue": "glossary-term-id"}}} ] }'

排序搜尋結果

根據預設,結果會依語意相關性排序。若要依屬性排序:

aws glue search-assets \ --search-text "customer purchases" \ --sort '{"Attribute": "assetName", "Order": "ASCENDING"}'
aws glue search-assets \ --search-text "customer purchases" \ --sort '{"Attribute": "updatedAt", "Order": "DESCENDING"}'
注意

當您指定排序屬性時,結果會依該屬性排序,而不是依語意相關性排序。

對搜尋結果進行分頁

當結果超過 時MaxResults,回應會包含 NextToken。使用它來擷取其他頁面。

aws glue search-assets \ --search-text "customer data" \ --max-results 10 \ --next-token "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7InMiOiJhMWIyYzNkNCJ9fX0="

繼續,直到回應不再包含 為止NextToken

執行篩選條件限定查詢

僅使用 FilterClause 而不使用 SearchText來列出沒有語意排名的資產。

aws glue search-assets \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}' \ --max-results 20
注意

當您省略 SearchText和 時FilterClause,API 會傳回所有資產。

範例

探索網域的技能資產

尋找與銷售資料相關的技能資產:

aws glue search-assets \ --search-text "sales domain usage rules" \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}}'
注意

此查詢只會傳回自訂技能資產。SearchAssets API 不會傳回受管技能。

合併文字搜尋和排序

取得相符資產的完整檢視:

aws glue search-assets \ --search-text "customer" \ --sort '{"Attribute": "updatedAt", "Order": "DESCENDING"}' \ --max-results 10