View a markdown version of this page

Pesquisa semântica para AWS Glue Data Catalog - AWS Glue

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