Esercitazione: Aggiungere Azure AI Search a un'app Web C# in App contenitore di Azure

Note

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Questa esercitazione crea un sito Web che esegue ricerche in un catalogo di libri e distribuisce il sito Web in App contenitore di Azure. La distribuzione usa l'interfaccia della riga di comando Azure Developer (azd) e l'identità gestita come metodo di autenticazione predefinito per Azure AI Search.

In questa esercitazione, imparerai a:

  • Distribuire Azure AI Search e inizializzare automaticamente un indice con l'interfaccia della riga di comando di Azure Developer.
  • Integrare query di ricerca, suggerimenti, facet, paginazione e ricerca di documenti nell'app C#.
  • Distribuire l'app in App contenitore di Azure con identità gestita come metodo di autenticazione predefinito.

Che cosa fa il campione?

Questo sito Web campione consente di accedere a un catalogo di 10.000 libri. È possibile eseguire ricerche nel catalogo immettendo del testo nella barra di ricerca. Mentre si immette testo, il sito Web usa la funzionalità di suggerimento dell'indice di ricerca per completare automaticamente il testo.

Al termine della query, il sito Web visualizza l'elenco dei libri con una parte dei relativi dettagli. È possibile selezionare un libro per visualizzarne i dettagli completi, archiviati nell'indice di ricerca.

Screenshot dell'app campione in una finestra del browser.

L'esperienza di ricerca include:

  • Ricerca : fornisce la funzionalità di ricerca per l'applicazione.
  • Suggerisci : fornisce suggerimenti quando l'utente digita nella barra di ricerca.
  • Facet e filtri : fornisce una struttura di spostamento in base a facet che filtra in base all'autore o alla lingua.
  • Risultati impaginati : fornisce controlli di paging per lo scorrimento dei risultati.
  • Ricerca documento : cerca un documento in base all'ID per recuperare tutto il relativo contenuto per la pagina dei dettagli.

Com'è organizzato il campione?

Il codice di esempio include i componenti seguenti:

App Scopo GitHub percorso del repository
client App React (livello presentazione) per visualizzare libri con la ricerca. Chiama l'API. /azure-search-static-web-app/client
api API Funzioni di Azure C# (livello business), ospitata in un contenitore in App contenitore di Azure, che chiama l'API Azure AI Search con .NET SDK. /azure-search-static-web-app/api
bulk-insert .NET progetto che crea l'indice e carica i documenti. La azd distribuzione viene eseguita automaticamente tramite l'hook postprovision . /azure-search-static-web-app/bulk-insert
infra Bicep'infrastruttura usata da azd per distribuire Azure AI Search, App contenitore di Azure e risorse di supporto. Azure-Samples/azure-search-static-web-app

Configurare l'ambiente di sviluppo

Installare il software seguente per l'ambiente di sviluppo locale. Il azd up comando effettua il provisioning di tutte le risorse Azure, incluse le Azure AI Search, quindi non è necessario crearle in anticipo.

Questa esercitazione non esegue l'API Funzioni di Azure in locale. Se si vuole eseguirlo in locale, installare Funzioni di Azure Core Tools.

Clonare l'esempio di ricerca con Git

È possibile distribuire l'esempio da un clone locale. Il azd up comando legge i file dell'applicazione e dell'infrastruttura dal repository locale, compila i contenitori, effettua il provisioning delle risorse Azure e distribuisce il client e l'API in App contenitore di Azure.

  1. In un terminale Bash clonare l'applicazione di esempio nel computer locale.

    git clone https://github.com/Azure-Samples/azure-search-static-web-app.git
    
  2. Nello stesso terminale Bash passare alla directory del repository per questo esempio di ricerca.

    cd azure-search-static-web-app
    
  3. Usare il comando Visual Studio Code, code ., per aprire il repository. Se non diversamente specificato, le attività rimanenti vengono completate in Visual Studio Code.

    code .
    

Passo successivo