

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ricerca semantica per AWS Glue Data Catalog
<a name="catalog-semantic-search"></a>

**Nota**  
Il contesto aziendale e la ricerca semantica sono disponibili in anteprima AWS Glue e sono soggette a modifiche.

La ricerca semantica consente di scoprire gli asset di dati in base al significato oltre alla corrispondenza esatta delle parole chiave. I risultati sono classificati in base alla somiglianza semantica con la tua query. Puoi restringere i risultati utilizzando filtri in base al tipo di risorsa, ai campi di metadati e ai termini del glossario.

## Utilizzo dell'API SearchAssets
<a name="catalog-semantic-search-api"></a>

L'`SearchAssets`API accetta `SearchText` o entrambe le cose. `FilterClause` Quando non viene fornito nessuno dei due, restituisce tutti gli asset. Parametri opzionali:`Sort`,`MaxResults`,`NextToken`.

### Ricerca testuale
<a name="catalog-semantic-search-text"></a>

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

Output di esempio:

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

Limita i risultati con`--max-results`:

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

### Filtrare i risultati della ricerca
<a name="catalog-semantic-search-filters"></a>

Utilizzare `FilterClause` per restringere i risultati. Tipi di filtri supportati:
+ **AttributeFilter**— Operatori:`equals`,`greaterThan`,`greaterThanOrEquals`,`lessThan`,`lessThanOrEquals`,`notExists`.
+ **AndAllFilters**— Tutti i filtri devono corrispondere (AND logico).
+ **OrAnyFilters**— Almeno uno deve corrispondere (OR logico).

**Per filtrare in base a un singolo attributo**  
Filtra solo gli asset della tabella:

```
aws glue search-assets \
    --search-text "revenue" \
    --filter-clause '{
        "AttributeFilter": {
            "Attribute": "type",
            "Operator": "equals",
            "Value": {"StringValue": "Table"}
        }
    }'
```

**Per combinare i filtri con la logica AND**  
Trova le risorse della tabella aggiornate dopo un timestamp:

```
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}}}
        ]
    }'
```

**Per combinare i filtri con la logica OR**  
Cerca tabelle o risorse di competenze:

```
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"}}}
        ]
    }'
```

**Per filtrare in base al termine del glossario**  
Filtra le risorse contrassegnate con un termine specifico del glossario (per ID del termine):

```
aws glue search-assets \
    --search-text "financial data" \
    --filter-clause '{
        "AttributeFilter": {
            "Attribute": "glossaryTerms",
            "Operator": "equals",
            "Value": {"StringValue": "{{glossary-term-id}}"}
        }
    }'
```

**Per utilizzare filtri AND e OR annidati**  
Trova tabelle o risorse di competenze con un termine specifico del glossario:

```
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}}"}}}
        ]
    }'
```

### Ordinamento dei risultati della ricerca
<a name="catalog-semantic-search-sort"></a>

Per impostazione predefinita, i risultati vengono ordinati in base alla rilevanza semantica. Per ordinare per attributo:

```
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 si specifica un attributo di ordinamento, i risultati vengono ordinati in base a tale attributo anziché in base alla rilevanza semantica.

### Paginazione dei risultati della ricerca
<a name="catalog-semantic-search-pagination"></a>

Quando i risultati superano`MaxResults`, la risposta include un. `NextToken` Usalo per recuperare pagine aggiuntive.

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

Continua fino a quando la risposta non include più un`NextToken`.

## Esecuzione di interrogazioni basate solo sui filtri
<a name="catalog-semantic-search-filter-only"></a>

Utilizza solo `FilterClause` senza `SearchText` per elencare le risorse senza classificazione semantica.

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

**Nota**  
Quando si omettono entrambi `SearchText` e`FilterClause`, l'API restituisce tutte le risorse.

## Esempi
<a name="catalog-semantic-search-examples"></a>

**Per scoprire le risorse di competenze relative a un dominio**  
Trova risorse di competenze relative ai dati di vendita:

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

**Nota**  
Questa query restituisce solo risorse di competenze personalizzate. Le competenze gestite non vengono restituite dall'`SearchAssets`API.

**Per combinare la ricerca e l'ordinamento del testo**  
Ottieni una visione completa delle risorse corrispondenti:

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