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 o 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 è:

  1. Creare l'indice di ricerca
  2. Creare un alias mappato all'indice di ricerca
  3. Chiedere all'applicazione di inviare richieste di query/indicizzazione all'alias anziché al nome dell'indice
  4. Quando è necessario apportare una modifica all'indice che richiede una ricompilazione, creare un nuovo indice di ricerca
  5. 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 dall'alias name e dal nome dell'indice di ricerca a cui è mappato l'alias. Nella matrice è possibile specificare indexes 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=2023-10-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=2023-10-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 in targetIndexName 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.

Scambia 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=2023-10-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.

Vedi anche