Pesquisa semântica para AWS Glue Data Catalog
nota
O contexto de negócios e a pesquisa semântica estão em demonstração para o AWS Glue e estão sujeitos a alterações.
A pesquisa semântica permite descobrir ativos de dados por significado, além da correspondência exata de palavras-chave. Os resultados são classificados por semelhança semântica com sua consulta. Você pode restringir os resultados usando filtros por tipo de ativo, campos de metadados e termos do glossário.
Uso da API SearchAssets
A API SearchAssets aceita SearchText, FilterClause ou ambas as opções. Quando nenhuma opção é fornecida, a API exibe todos os ativos. Parâmetros opcionais: Sort, MaxResults, NextToken.
Busca de texto
aws glue search-assets \ --search-text "customer purchases"
Resultado do exemplo:
{ "Items": [ {"Id": "c9vq7sh2fk4t2h", "AssetName": "Customer Sales Transactions", "AssetTypeId": "Table"} ] }
Limite os resultados com --max-results:
aws glue search-assets \ --search-text "quarterly revenue" \ --max-results 5
Filtrar os resultados de pesquisa
Use FilterClause para restringir os resultados. Tipos de filtros compatíveis:
AttributeFilter – Operadores:
equals,greaterThan,greaterThanOrEquals,lessThan,lessThanOrEquals,notExists.AndAllFilters – Todos os filtros devem corresponder (AND lógico).
OrAnyFilters – Pelo menos um deve corresponder (OR lógico).
Para filtrar por um único atributo
Filtrar somente os ativos da tabela:
aws glue search-assets \ --search-text "revenue" \ --filter-clause '{ "AttributeFilter": { "Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"} } }'
Para combinar filtros com a lógica AND
Encontrar ativos da tabela atualizados após um registro de data e hora:
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}}} ] }'
Para combinar filtros com a lógica OR
Pesquisar tabelas ou ativos de habilidades:
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"}}} ] }'
Para filtrar por termo do glossário
Filtrar ativos marcados com uma tag de um termo específico do glossário (por ID do termo):
aws glue search-assets \ --search-text "financial data" \ --filter-clause '{ "AttributeFilter": { "Attribute": "glossaryTerms", "Operator": "equals", "Value": {"StringValue": "glossary-term-id"} } }'
Para usar filtros AND e OR aninhados
Encontrar uma tabela ou ativos de habilidades com um termo específico do glossário:
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"}}} ] }'
Classificação dos resultados da pesquisa
Por padrão, os resultados são classificados por relevância semântica. Para classificar por atributo:
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"}'
nota
Quando você especifica um atributo de classificação, os resultados são ordenados de acordo com esse atributo e não por relevância semântica.
Paginação de resultados da pesquisa
Quando os resultados excedem MaxResults, a resposta inclui um NextToken. Use-o para recuperar páginas adicionais.
aws glue search-assets \ --search-text "customer data" \ --max-results 10 \ --next-token "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7InMiOiJhMWIyYzNkNCJ9fX0="
Continue até que a resposta não inclua mais um NextToken.
Executar consultas somente com filtros
Use somente FilterClause sem SearchText para listar os ativos sem classificação semântica.
aws glue search-assets \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Table"}}}' \ --max-results 20
nota
Quando você omite SearchText e FilterClause, a API exibe todos os ativos.
Exemplos
Para descobrir ativos de habilidades para um domínio
Encontrar os ativos de habilidades relacionados aos dados de vendas:
aws glue search-assets \ --search-text "sales domain usage rules" \ --filter-clause '{"AttributeFilter": {"Attribute": "type", "Operator": "equals", "Value": {"StringValue": "Skill"}}}'
nota
Essa consulta exibe somente ativos de habilidades personalizados. As habilidades gerenciadas não são exibidas pela API SearchAssets.
Para combinar a pesquisa e a classificação de textos
Obter uma visão abrangente dos ativos correspondentes:
aws glue search-assets \ --search-text "customer" \ --sort '{"Attribute": "updatedAt", "Order": "DESCENDING"}' \ --max-results 10