Creare un alias di indice in Ricerca di intelligenza artificiale di Azure
Importante
Gli alias di indice sono attualmente disponibili in anteprima pubblica e disponibili in condizioni supplementari per l'utilizzo.
In Ricerca di intelligenza artificiale di Azure un alias di indice è un nome secondario che può essere usato per fare riferimento a un indice per l'esecuzione di query, indicizzazione e altre operazioni. È possibile creare un alias che esegue il mapping a un indice di ricerca e sostituire il nome dell'alias nelle posizioni in cui altrimenti si fa riferimento a un nome di indice. Un alias aggiunge flessibilità se è necessario modificare l'indice a cui punta l'applicazione. Anziché aggiornare i riferimenti nell'applicazione, è sufficiente aggiornare il mapping per l'alias.
L'obiettivo principale degli alias di indice è semplificare la gestione degli indici di produzione. Ad esempio, se è necessario apportare una modifica alla definizione dell'indice, ad esempio la modifica di un campo o l'aggiunta di un nuovo analizzatore, sarà necessario creare un nuovo indice di ricerca perché tutti gli indici di ricerca non sono modificabili. Ciò significa che è necessario eliminare e ricompilare l'indice oppure creare un nuovo indice e quindi eseguire la migrazione dell'applicazione a tale indice.
Anziché eliminare e ricompilare l'indice, è possibile usare gli alias di indice. Un flusso di lavoro tipico è:
- Creare l'indice di ricerca
- Creare un alias mappato all'indice di ricerca
- Chiedere all'applicazione di inviare richieste di query/indicizzazione all'alias anziché al nome dell'indice
- Quando è necessario apportare una modifica all'indice che richiede una ricompilazione, creare un nuovo indice di ricerca
- Quando il nuovo indice è pronto, aggiornare l'alias per eseguire il mapping al nuovo indice e le richieste verranno indirizzate automaticamente al nuovo indice
Creare un alias di indice
È possibile creare un alias usando l'API REST di anteprima, gli SDK di anteprima o tramite il portale di Azure. Un alias è costituito da name
dell'alias e dal nome dell'indice di ricerca a cui è mappato l'alias. Nella matrice di indexes
è possibile specificare un solo nome di indice.
È possibile usare l'alias di creazione o aggiornamento (anteprima REST) per creare un alias di indice.
POST /aliases?api-version=2024-05-01-preview
{
"name": "my-alias",
"indexes": ["hotel-samples-index"]
}
Inviare richieste a un alias di indice
Dopo aver creato l'alias, è possibile iniziare a usarlo. Gli alias possono essere usati per tutte le operazioni sui documenti, tra cui query, indicizzazione, suggerimenti e completamento automatico.
Nella query seguente, anziché inviare la richiesta a hotel-samples-index
, è possibile inviare la richiesta a my-alias
e verrà instradata di conseguenza.
POST /indexes/my-alias/docs/search?api-version=2024-05-01-preview
{
"search": "pool spa +airport",
"searchMode": any,
"queryType": "simple",
"select": "HotelId, HotelName, Category, Description",
"count": true
}
Se si prevede di eseguire aggiornamenti a un indice di produzione, specificare un alias anziché il nome dell'indice nell'applicazione lato client. Gli scenari che richiedono una ricompilazione dell'indice sono descritti in Eliminare e ricompilare un indice.
Nota
È possibile usare un alias solo con operazioni sui documenti o per ottenere e aggiornare una definizione di indice. Gli alias non possono essere usati per eliminare un indice, non possono essere usati con l'API Analizza testo e non possono essere usati come targetIndexName
in un indicizzatore.
Un aggiornamento di un alias può richiedere fino a 10 secondi per propagarsi nel sistema in modo da attendere almeno 10 secondi prima di eseguire qualsiasi operazione nell'indice mappato o di recente mappato all'alias.
Scambiare indici
A questo punto, ogni volta che è necessario aggiornare l'applicazione in modo che punti a un nuovo indice, è sufficiente aggiornare il mapping nell'alias. PUT è necessario per gli aggiornamenti, come descritto in Creare o aggiornare alias (anteprima REST).
PUT /aliases/my-alias?api-version=2024-05-01-preview
{
"name": "my-alias",
"indexes": ["hotel-samples-index2"]
}
Dopo aver eseguito l'aggiornamento all'alias, le richieste inizieranno automaticamente a essere indirizzate al nuovo indice.
Nota
Un aggiornamento di un alias può richiedere fino a 10 secondi per propagarsi nel sistema, quindi è necessario attendere almeno 10 secondi prima di eliminare l'indice a cui è stato eseguito il mapping dell'alias.