本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的語意搜尋 AWS Glue Data Catalog
注意
商業內容和語意搜尋為 預覽版 AWS Glue ,可能會有所變更。
除了確切關鍵字比對之外,語意搜尋還可讓您透過意義探索資料資產。結果會依與查詢的語意相似度進行排名。您可以使用資產類型、中繼資料欄位和詞彙表術語的篩選條件來縮小結果範圍。
使用 SearchAssets API
SearchAssets API 接受 SearchText、 FilterClause或兩者。兩者皆未提供時,會傳回所有資產。選用參數:Sort、MaxResults、NextToken。
文字搜尋
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 – 運算子:
equals、greaterThan、greaterThanOrEqualslessThan、lessThanOrEquals、、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