Guida introduttiva: Creare una pipeline di indicizzazione di intelligenza artificiale con competenze cognitive in Ricerca di AzureQuickstart: Create an AI indexing pipeline using cognitive skills in Azure Search

Ricerca di Azure si integra con Servizi cognitivi aggiungendo estrazione di contenuto, elaborazione del linguaggio naturale e competenze di elaborazione di immagini a una pipeline di indicizzazione di Ricerca di Azure, semplificando le ricerche di contenuto non ricercabile o non strutturato.Azure Search integrates with Cognitive Services, adding content extraction, natural language processing (NLP), and image processing skills to an Azure Search indexing pipeline, making unsearchable or unstructured content more searchable.

Molte risorse di Servizi cognitivi, ad esempio OCR, rilevamento della lingua e riconoscimento di entità, solo per citarne alcune, possono essere collegate a un processo di indicizzazione.Many Cognitive Services resources - such as OCR, language detection, entity recognition to name a few - can be attached to an indexing process. Gli algoritmi di intelligenza artificiale di Servizi cognitivi vengono usati per individuare modelli, funzionalità e caratteristiche nei dati di origine, restituendo strutture e contenuto testuale che è possibile usare nella soluzioni di ricerca full-text basate su Ricerca di Azure.The AI algorithms of Cognitive Services are used to find patterns, features, and characteristics in source data, returning structures and textual content that can be used in full-text search solutions based on Azure Search.

In questo argomento di avvio rapido è possibile creare la prima pipeline di arricchimento nel portale di Azure prima di scrivere una singola riga di codice:In this quickstart, create your first enrichment pipeline in the Azure portal before writing a single line of code:

  • Iniziare con i dati di esempio nell'archivio BLOB di AzureBegin with sample data in Azure Blob storage
  • Configurare l'Importazione guidata dati per l'indicizzazione cognitiva e l'arricchimentoConfigure the Import data wizard for cognitive indexing and enrichment
  • Eseguire la procedura guidata (una competenza entità rileva gli utenti, la posizione e le organizzazioni)Run the wizard (an entity skill detects people, location, and organizations)
  • Usare Esplora ricerche per eseguire query sui dati arricchitiUse Search explorer to query the enriched data

Questa guida di avvio rapido viene eseguita con il servizio gratuito, ma il numero di transazioni gratuite è limitato a 20 documenti al giorno.This quickstart runs on the Free service, but the number of free transactions is limited to 20 documents per day. Se si vuole eseguire la guida più di una volta al giorno, usare un set di file più piccolo in modo da far rientrare più esecuzioni.If you want to run this quickstart more than once daily, use a smaller file set so that you can fit in more runs.

Nota

Se si espande l'ambito aumentando la frequenza di elaborazione, aggiungendo più documenti oppure aggiungendo altri algoritmi di intelligenza artificiale, sarà necessario collegare una risorsa fatturabile di Servizi cognitivi.As you expand scope by increasing the frequency of processing, adding more documents, or adding more AI algorithms, you will need to attach a billable Cognitive Services resource. Gli addebiti si accumulano quando si chiamano le API in Servizi cognitivi e per l'estrazione di immagini come parte della fase di individuazione di documenti in Ricerca di Azure.Charges accrue when calling APIs in Cognitive Services, and for image extraction as part of the document-cracking stage in Azure Search. Non sono previsti addebiti per l'estrazione di testo dai documenti.There are no charges for text extraction from documents.

L'esecuzione delle competenze predefinite viene addebitata secondo gli attuali prezzi con pagamento in base al consumo dei Servizi cognitivi.Execution of built-in skills is charged at the existing Cognitive Services pay-as-you go price. I prezzi per l'estrazione delle immagini sono descritti nella pagina dei prezzi di Ricerca di Azure.Image extraction pricing is described on the Azure Search pricing page.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

PrerequisitiPrerequisites

Creare un servizio Ricerca di Azure o trovare un servizio esistente nella sottoscrizione corrente.Create an Azure Search service or find an existing service under your current subscription. È possibile usare un servizio gratuito per questo avvio rapido.You can use a free service for this quickstart.

I Servizi cognitivi forniscono l'intelligenza artificiale.Cognitive Services provides the AI. Questa guida di avvio rapido include la procedura per aggiungere queste risorse inline, quando si specifica la pipeline.This quickstart includes steps for adding these resources in-line, when specifying the pipeline. Non è necessario configurare account in anticipo.It's not necessary to set up accounts in advance.

Per fornire gli input per la pipeline di indicizzazione, sono necessari i servizi di Azure.Azure services are required to provide the inputs to the indexing pipeline. È possibile usare qualsiasi origine dati supportata dagli indicizzatori di Ricerca di Azure, ad eccezione di archiviazione tabelle di Azure, che non è supportata per l'indicizzazione dell'intelligenza artificiale.You can use any data source supported by Azure Search indexers except for Azure Table Storage, which is not supported for AI indexing. In questa guida si usa archiviazione BLOB di Azure come contenitore per i file delle origini dati.This quickstart uses Azure Blob storage as a container for source data files.

Configurare il servizio BLOB di Azure e caricare i dati di esempioSet up Azure Blob service and load sample data

  1. Scaricare i dati di esempio costituiti da un piccolo set di file di tipi diversi.Download sample data consisting of a small file set of different types.

  2. Iscriversi ad archiviazione BLOB di Azure, creare un account di archiviazione, aprire le pagine dei servizi BLOB e creare un contenitore.Sign up for Azure Blob storage, create a storage account, open the Blob services pages, and create a container. Creare l'account di archiviazione nella stessa area di Ricerca di Azure.Create the storage account in the same region as Azure Search.

  3. Nel contenitore creato fare clic su Carica per caricare i file di esempio nel passaggio precedente.In the container you created, click Upload to upload the sample files you downloaded in a previous step.

    File di origine nell'archivio BLOB di Azure

Creare la pipeline di arricchimentoCreate the enrichment pipeline

Tornare alla pagina dashboard del servizio Ricerca di Azure e fare clic su Importa dati sulla barra dei comandi per impostare l'arricchimento cognitivo in quattro passaggi.Return to the Azure Search service dashboard page and click Import data on the command bar to set up cognitive enrichment in four steps.

Comando Importa dati

Passaggio 1: Creare un'origine datiStep 1: Create a data source

In Definisci la connessione ai dati scegliere Archiviazione BLOB di Azure e selezionare l'account e il contenitore creati.In Connect to your data, choose Azure Blob storage, select the account and container you created. Assegnare un nome origine dati e utilizzare i valori predefiniti per il resto.Give the data source a name, and use default values for the rest.

Configurazione del BLOB di Azure

Passare alla pagina successiva.Continue to the next page.

Pulsante Pagina successiva per la ricerca cognitiva

Passaggio 2: Aggiungere competenze cognitiveStep 2: Add cognitive skills

Successivamente, aggiungere i passaggi di arricchimento alla pipeline di indicizzazione.Next, add enrichment steps to the indexing pipeline. Se non si ha una risorsa di Servizi cognitivi, è possibile iscriversi per una versione gratuita che offre 20 transazioni al giorno.If you do not have a Cognitive Services resource, you can sign up for a free version that gives you 20 transactions daily. I dati di esempio sono costituiti da 14 file, quindi l'allocazione giornaliera risulterà usata quasi completamente dopo aver eseguito questa procedura guidata.The sample data consists of 14 files, so your daily allocation will be mostly used up once you run this wizard.

  1. Espandere Collega Servizi cognitivi per visualizzare le opzioni per le API Servizi cognitivi.Expand Attach Cognitive Services to view options for resourcing the Cognitive Services APIs. Ai fini di questa esercitazione, è possibile usare la risorsa Gratuita.For the purposes of this tutorial, you can use the Free resource.

    Collega Servizi cognitivi

  2. Espandere Aggiungi arricchimenti e selezionare le competenze che eseguono l'elaborazione del linguaggio naturale.Expand Add Enrichments and select skills that perform natural language processing. Per questa Guida introduttiva, scegliere il riconoscimento entità per gli utenti, le organizzazioni e i percorsi.For this quickstart, choose entity recognition for people, organizations, and locations.

    Collega Servizi cognitivi

    Il portale offre competenze predefinite per l'analisi del testo e l'elaborazione OCR.The portal offers built-in skills for OCR processing and text analysis. Nel portale, un set di competenze agisce su un campo di origine singolo.In the portal, a skillset operates over a single source field. Ciò potrebbe sembrare una destinazione di piccole dimensioni, ma per i BLOB di Azure il campo content contiene la maggior parte del documento BLOB (ad esempio, un documento Word o un di mazzo PowerPoint).That might seem like a small target, but for Azure blobs the content field contains most of the blob document (for example, a Word doc or PowerPoint deck). Di conseguenza, questo campo è un input ideale perché contiene tutto il contenuto del BLOB.As such, this field is an ideal input because all of a blob's content is there.

  3. Passare alla pagina successiva.Continue to the next page.

    Pagina successiva: personalizzazione indice

Nota

L'elaborazione del linguaggio naturale viene eseguita tramite il contenuto di testo nel set di dati di esempio.Natural language processing skills operate over text content in the sample data set. Poiché l'opzione OCR non è stata selezionata, i file JPEG e PNG trovati nel set di dati di esempio non verranno elaborati in questo argomento di avvio rapido.Since we didn't select the OCR option, the JPEG and PNG files found in the sample data set won't be processed in this quickstart.

Passaggio 3: Configurare l'indiceStep 3: Configure the index

La procedura guidata in genere è in grado di dedurre un indice predefinito.The wizard can usually infer a default index. In questo passaggio è possibile visualizzare lo schema dell'indice generato e potenzialmente rivedere le impostazioni.In this step, you can view the generated index schema and potentially revise any settings. Di seguito è riportato l'indice predefinito creato per il set di dati dimostrativi BLOB.Below is the default index created for the demo Blob data set.

Per questa Guida introduttiva, la procedura guidata ha imposta valori predefiniti ragionevoli in modo efficace:For this quickstart, the wizard does a good job setting reasonable defaults:

  • Il nome predefinito è azureblob-index in base al tipo di origine dati.Default name is azureblob-index based on the data source type.

  • I campi predefiniti si basano sul campo dati di origine iniziale (content) e i campi di output ( people, organizations e locations) creati dalla pipeline cognitiva.Default fields are based on the original source data field (content), plus the output fields (people, organizations, and locations) created by the cognitive pipeline. I tipi di dati predefiniti vengono dedotti dai metadati e dal campionamento dei dati.Default data types are inferred from metadata and data sampling.

  • La chiave predefinita è metadata_storage_path (questo campo contiene valori univoci).Default key is metadata_storage_path (this field contains unique values).

  • Gli attributi predefiniti per questi campi sono Recuperabile e Ricercabile.Default attributes are Retrievable and Searchable for these fields. Ricercabile indica un campo in cui è possibile eseguire ricerche.Searchable indicates a field can be searched. Recuperabile significa che può essere restituito nei risultati.Retrievable means it can be returned in results. La procedura guidata presuppone che si voglia rendere questi campi recuperabili e ricercabili perché sono stati creati con un insieme di competenze.The wizard assumes you want these fields to be retrievable and searchable because you created them via a skillset.

    Campi indice

Osservare il testo barrato e il punto interrogativo sull'attributo Recuperabile accanto al campo content.Notice the strikethrough and question mark on the Retrievable attribute by the content field. Per i documenti BLOB a elevato utilizzo di testo, il campo content contiene la maggior parte del contenuto del file, eseguito potenzialmente in migliaia di righe.For text-heavy blob documents, the content field contains the bulk of the file, potentially running into thousands of lines. Se è necessario passare il contenuto del file al codice client, assicurarsi che il campo Recuperabile resti selezionato.If you need to pass file contents to client code, make sure that Retrievable stays selected. In caso contrario, prendere in considerazione la cancellazione di questo attributo in content se gli elementi estratti (people, organizations e locations) sono sufficienti per gli scopi desiderati.Otherwise, consider clearing this attribute on content if the extracted elements (people, organizations, and locations) are sufficient for your purposes.

Contrassegnare un campo come Recuperabile non significa che il campo debba essere presente nei risultati della ricerca.Marking a field as Retrievable does not mean that the field must be present in the search results. È possibile controllare con precisione la composizione dei risultati della ricerca usando il parametro di query $select per specificare i campi da includere.You can precisely control search results composition by using the $select query parameter to specify which fields to include. Per i campi con grandi quantità di testo come content, il parametro $select è la soluzione per fornire risultati della ricerca gestibili agli utenti umani dell'applicazione, garantendo allo stesso tempo che il codice abbia accesso a tutte le informazioni necessarie attraverso l'attributo Recuperabile.For text-heavy fields like content, the $select parameter is your solution for providing manageable search results to the human users of your application, while ensuring client code has access to all the information it needs via the Retrievable attribute.

Passare alla pagina successiva.Continue to the next page.

Pagina successiva: creazione indicizzatore

Passaggio 4: Configurare l'indicizzatoreStep 4: Configure the indexer

L'indicizzatore è una risorsa di alto livello che guida il processo di indicizzazione.The indexer is a high-level resource that drives the indexing process. Specifica il nome dell'origine dati, l'indice di destinazione e la frequenza di esecuzione.It specifies the data source name, a target index, and frequency of execution. Il risultato finale dell'Importazione guidata dati è sempre un indicizzatore che è possibile eseguire ripetutamente.The end result of the Import data wizard is always an indexer that you can run repeatedly.

Nella pagina Indicizzatore si può accettare il nome predefinito e usare l'opzione di pianificazione Esegui una volta per l'esecuzione immediata.In the Indexer page, you can accept the default name and use the Run once schedule option to run it immediately.

Definizione di indicizzatore

Fare clic su Invia per creare e contemporaneamente eseguire l'indicizzatore.Click Submit to create and simultaneously run the indexer.

Monitorare l'indicizzazioneMonitor indexing

I passaggi di arricchimento richiedono più tempo rispetto all'indicizzazione tipica basata su testo.Enrichment steps take longer to complete than typical text-based indexing. La procedura guidata dovrebbe aprire l'elenco degli indicizzatori nella pagina di panoramica in modo che sia possibile monitorare lo stato di avanzamento.The wizard should open the Indexer list in the overview page so that you can track progress. In caso contrario, passare alla pagina Panoramica e fare clic su Indicizzatori.For self-navigation, go to the Overview page and click Indexers.

L'avviso viene visualizzato perché i file JPG e PNG sono file di immagine e la competenza OCR è stata omessa da questa pipeline.The warning occurs because JPG and PNG files are image files, and we omitted the OCR skill from this pipeline. Verranno anche visualizzate notifiche di troncamento.You'll also find truncation notifications. Ricerca di Azure limita l'estrazione a 32.000 caratteri nel livello gratuito.Azure Search limits extraction to 32,000 characters on the Free tier.

Notifica di ricerca di Azure

L'indicizzazione e l'arricchimento possono richiedere tempo, per questo motivo sono consigliati set di dati più piccoli per l'esplorazione anticipata.Indexing and enrichment can take time, which is why smaller data sets are recommended for early exploration.

Eseguire query in Esplora ricercheQuery in Search explorer

Dopo aver creato un indice, è possibile inviare query per la restituzione di documenti dall'indice.After an index is created, you can submit queries to return documents from the index. Nel portale usare Esplora ricerche per eseguire query e visualizzare i risultati.In the portal, use Search explorer to run queries and view results.

  1. Nella pagina del dashboard del servizio di ricerca fare clic su Esplora ricerche sulla barra dei comandi.On the search service dashboard page, click Search explorer on the command bar.

  2. Selezionare Cambia indice in alto per selezionare l'indice creato.Select Change Index at the top to select the index you created.

  3. Immettere una stringa di ricerca per una query nell'indice, ad esempio search=Microsoft&searchFields=organizations.Enter a search string to query the index, such as search=Microsoft&searchFields=organizations.

I risultati vengono restituiti in formato JSON, che può essere dettagliato e difficile da leggere, soprattutto in documenti di grandi dimensioni proveniente da BLOB di Azure.Results are returned in JSON, which can be verbose and hard to read, especially in large documents originating from Azure blobs. Se non è possibile analizzare facilmente i risultati, usare CTRL + F per cercare all'interno dei documenti.If you can't scan results easily, use CTRL-F to search within documents. Per questa query, è possibile cercare termini specifici all'interno del codice JSON.For this query, you could search within the JSON for specific terms.

CTRL + F consente inoltre di determinare il numero di documenti presenti in un determinato set di risultati.CTRL-F can also help you determine how many documents are in a given result set. Per i BLOB di Azure, il portale sceglie "metadata_storage_path" come chiave perché ogni valore è univoco per il documento.For Azure blobs, the portal chooses "metadata_storage_path" as the key because each value is unique to the document. Usando CTRL-F, cercare "metadata_storage_path" per ottenere il conteggio dei documenti.Using CTRL-F, search for "metadata_storage_path" to get a count of documents.

Esempio di Esplora ricerche

RisultatiTakeaways

Il primo esercizio di indicizzazione arricchita con risorse cognitive è stato completato.You've now completed your first cognitive-enriched indexing exercise. Lo scopo di questa Guida introduttiva era quello di introdurre i concetti importanti e assistere l'utente nella procedura guidata per creare un prototipo di soluzione di ricerca cognitiva usando i propri dati.The purpose of this quickstart was to introduce important concepts and walk you through the wizard so that you can quickly prototype a cognitive search solution using your own data.

Alcuni concetti chiave ci auguriamo l'utente abbia compreso includono la dipendenza da origini dati di Azure.Some key concepts that we hope you picked up include the dependency on Azure data sources. L'arricchimento della ricerca cognitiva è associato a indicizzatori e gli indicizzatori sono specifici di Azure e dell'origine.Cognitive search enrichment is bound to indexers, and indexers are Azure and source-specific. Anche se in questa Guida introduttiva viene usato Archivio BLOB di Azure, sono possibili altre origini dati di Azure.Although this quickstart uses Azure Blob storage, other Azure data sources are possible. Per altre informazioni, vedere Indicizzatori in Ricerca di Azure.For more information, see Indexers in Azure Search.

Un altro concetto importante è che le competenze vengono eseguite tramite campi di input.Another important concept is that skills operate over input fields. Nel portale, è necessario scegliere un singolo campo di origine per tutte le competenze.In the portal, you have to choose a single source field for all the skills. Nel codice, gli input possono essere altri campi o l'output di una competenza upstream.In code, inputs can be other fields, or the output of an upstream skill.

Viene eseguito il mapping degli input di una competenza a un campo di output in un indice.Inputs to a skill are mapped to an output field in an index. Internamente, il portale configura annotazioni e definisce un set di competenze, stabilendo l'ordine delle operazioni e il flusso generale.Internally, the portal sets up annotations and defines a skillset, establishing the order of operations and general flow. Questi passaggi sono nascosti nel portale, ma quando si avvia la scrittura di codice, questi concetti diventano importanti.These steps are hidden in the portal, but when you start writing code, these concepts become important.

Infine, si è appreso che la visualizzazione dei risultati viene ottenuta eseguendo una query dell'indice.Finally, you learned that viewing results is achieved by querying the index. Infine, Ricerca di Azure offre un indice ricercabile, in cui è possibile eseguire una query utilizzando la sintassi di query semplice oppure completamente estesa.In the end, what Azure Search provides is a searchable index, which you can query using either the simple or fully extended query syntax. Un indice che contiene campi arricchiti è come qualsiasi altro.An index containing enriched fields is like any other. Se si intende incorporare analizzatori personalizzati o standard, profili di punteggio, sinonimi, filtri con facet, ricerca geografica o qualsiasi altra funzionalità di Ricerca di Azure, è possibile farlo.If you want to incorporate standard or custom analyzers, scoring profiles, synonyms, faceted filters, geo-search, or any other Azure Search feature, you can certainly do so.

Eseguire la puliziaClean up

Quando si lavora nella propria sottoscrizione, alla fine di un progetto è opportuno verificare se le risorse create sono ancora necessarie.When you're working in your own subscription, it's a good idea at the end of a project to identify whether you still need the resources you created. L'esecuzione continua delle risorse può avere un costo.Resources left running can cost you money. È possibile eliminare le singole risorse oppure il gruppo di risorse per eliminare l'intero set di risorse.You can delete resources individually or delete the resource group to delete the entire set of resources.

Per trovare e gestire le risorse nel portale, usare il collegamento Tutte le risorse o Gruppi di risorse nel riquadro di spostamento a sinistra.You can find and manage resources in the portal, using the All resources or Resource groups link in the left-navigation pane.

Se si usa un servizio gratuito, tenere presente che il numero di indicizzatori e origini dati è limitato a tre.If you are using a free service, remember that you are limited to three indexes, indexers, and data sources. Per non superare il limite, è possibile eliminare i singoli elementi nel portale.You can delete individual items in the portal to stay under the limit.

Passaggi successiviNext steps

In base al modo in cui si è effettuato il provisioning della risorsa di Servizi cognitivi, è possibile usare sperimentare con l'indicizzazione e l'arricchimento rieseguendo la procedura guidata con diverse competenze e campi di origine dati.Depending on how you provisioned Cognitive Services resource, you can experiment with indexing and enrichment by rerunning the wizard with different skills and source data fields. Per ripetere questa procedura, eliminare l'indice e l'indicizzatore, quindi ricreare l'indicizzatore con una nuova combinazione di selezioni.To repeat the steps, delete the index and indexer, then recreate the indexer with a new mix of selections.

  • In Panoramica > Indici selezionare l'indice creato e quindi fare clic su Elimina.In Overview > Indexes, select the index you created, and then click Delete.

  • In Panoramica fare doppio clic nel riquadro Indicizzatori.In Overview, double-click the Indexers tile. Individuare l'indicizzatore creato ed eliminarlo.Find the indexer you created and delete it.

In alternativa, riutilizzare i dati di esempio e i servizi creati per apprendere come eseguire stesse attività a livello di codice nella prossima esercitazione.Alternatively, reuse the sample data and services you created, and learn how to perform the same tasks programmatically in the next tutorial.