Eseguire ricerche nel contenuto di archiviazione BLOB di AzureSearch over Azure Blob storage content

La ricerca in un'ampia gamma di tipi di contenuto inclusi nell'archiviazione BLOB di Azure può rivelarsi un problema complesso da risolvere.Searching across the variety of content types stored in Azure Blob storage can be a difficult problem to solve. In questo articolo viene esaminato il flusso di lavoro di base per estrarre contenuto e metadati dai BLOB e inviarli a un indice di ricerca in Azure ricerca cognitiva.In this article, review the basic workflow for extracting content and metadata from blobs and sending it to a search index in Azure Cognitive Search. Per eseguire query sull'indice risultante è possibile utilizzare la ricerca full-text.The resulting index can be queried using full text search.

Nota

Si ha già familiarità con il flusso di lavoro e la composizione?Already familiar with the workflow and composition? Come configurare un indicizzatore BLOB è il passaggio successivo.How to configure a blob indexer is your next step.

Cosa significa aggiungere la ricerca full-text ai dati BLOBWhat it means to add full text search to blob data

Azure ricerca cognitiva è un servizio di ricerca che supporta l'indicizzazione e i carichi di lavoro di query su indici definiti dall'utente che contengono il contenuto ricercabile remoto ospitato nel cloud.Azure Cognitive Search is a search service that supports indexing and query workloads over user-defined indexes that contains your remote searchable content hosted in the cloud. Il percorso di condivisione del contenuto ricercabile con il motore di query è necessario per le prestazioni, restituendo i risultati a una velocità prevista dagli utenti dalle query di ricerca.Co-locating your searchable content with the query engine is necessary for performance, returning results at a speed users have come to expect from search queries.

Ricerca cognitiva si integra con l'archiviazione BLOB di Azure a livello di indicizzazione, importando il contenuto BLOB come documenti di ricerca indicizzati in indici invertiti e altre strutture di query che supportano query di testo e espressioni di filtro gratuite.Cognitive Search integrates with Azure Blob storage at the indexing layer, importing your blob content as search documents that are indexed into inverted indexes and other query structures that support free form text queries and filter expressions. Poiché il contenuto del BLOB è indicizzato in un indice di ricerca, è possibile usare l'intera gamma di funzionalità di query in Azure ricerca cognitiva per trovare informazioni nel contenuto del BLOB.Because your blob content is indexed into a search index, you can use the full range of query features in Azure Cognitive Search to find information in your blob content.

Gli input sono i BLOB, in un singolo contenitore, nell'archivio BLOB di Azure.Inputs are your blobs, in a single container, in Azure Blob storage. I BLOB possono essere pressoché qualunque tipo di dati di testo.Blobs can be almost any kind of text data. Se i BLOB contengono immagini, è possibile aggiungere l' arricchimento di intelligenza artificiale all'indicizzazione BLOB per creare ed estrarre il testo dalle immagini.If your blobs contain images, you can add AI enrichment to blob indexing to create and extract text from images.

L'output è sempre un indice di Ricerca cognitiva di Azure, usato per la ricerca, il recupero e l'esplorazione veloci del testo nelle applicazioni client.Output is always an Azure Cognitive Search index, used for fast text search, retrieval, and exploration in client applications. Al centro c'è l'architettura della pipeline di indicizzazione vera e propria.In between is the indexing pipeline architecture itself. La pipeline è basata sulla funzionalità indicizzatore, descritta più avanti in questo articolo.The pipeline is based on the indexer feature, discussed further on in this article.

Quando l'indice viene creato e popolato, esiste indipendentemente dal contenitore BLOB, ma è possibile rieseguire le operazioni di indicizzazione per aggiornare l'indice in base ai documenti modificati.Once the index is created and populated, it exists independently of your blob container, but you can re-rerun indexing operations to refresh your index based on changed documents. Le informazioni di data e ora nei singoli BLOB vengono usate per il rilevamento delle modifiche.Timestamp information on individual blobs is used for change detection. Come meccanismo di aggiornamento si può optare per l'esecuzione pianificata o per l'indicizzazione su richiesta.You can opt for either scheduled execution or on-demand indexing as the refresh mechanism.

Risorse necessarieRequired resources

Sono necessari sia ricerca cognitiva di Azure che archiviazione BLOB di Azure.You need both Azure Cognitive Search and Azure Blob storage. All'interno dell'archivio BLOB è necessario un contenitore che fornisca il contenuto di origine.Within Blob storage, you need a container that provides source content.

Si può iniziare direttamente nella pagina del portale dell'account di archiviazione.You can start directly in your Storage account portal page. Nella pagina di spostamento a sinistra, in Servizio BLOB fare clic su Aggiungi Ricerca cognitiva di Azure per creare un nuovo servizio o selezionarne uno esistente.In the left navigation page, under Blob service click Add Azure Cognitive Search to create a new service or select an existing one.

Dopo aver aggiunto Ricerca cognitiva di Azure all'account di archiviazione, è possibile seguire il processo standard per indicizzare i dati BLOB.Once you add Azure Cognitive Search to your storage account, you can follow the standard process to index blob data. È consigliabile usare la procedura guidata Importa dati in Ricerca cognitiva di Azure per un'introduzione iniziale semplice oppure chiamare le API REST usando uno strumento come Postman.We recommend the Import data wizard in Azure Cognitive Search for an easy initial introduction, or call the REST APIs using a tool like Postman. Questa esercitazione illustra i passaggi per chiamare l'API REST in Postman: Indicizzare e cercare dati semistrutturati (BLOB JSON) in Ricerca cognitiva di Azure.This tutorial walks you through the steps of calling the REST API in Postman: Index and search semi-structured data (JSON blobs) in Azure Cognitive Search.

Usare un indicizzatore BLOBUse a Blob indexer

Un indicizzatore è un sottoservizio compatibile con l'origine dati in ricerca cognitiva, dotato di logica interna per il campionamento dei dati, la lettura dei dati dei metadati, il recupero dei dati e la serializzazione dei dati dai formati nativi ai documenti JSON per l'importazione successiva.An indexer is a data-source-aware subservice in Cognitive Search, equipped with internal logic for sampling data, reading metadata data, retrieving data, and serializing data from native formats into JSON documents for subsequent import.

I BLOB in Archiviazione di Azure vengono indicizzati mediante l'indicizzatore per l'archivio BLOB di Ricerca cognitiva di Azure.Blobs in Azure Storage are indexed using the Azure Cognitive Search Blob storage indexer. Si può richiamare questo indicizzatore usando la procedura guidata Importa dati, un'API REST o .NET SDK.You can invoke this indexer by using the Import data wizard, a REST API, or the .NET SDK. Nel codice, questo indicizzatore si usa impostando il tipo e fornendo le informazioni di connessione, che includono un account di Archiviazione di Azure e un contenitore BLOB.In code, you use this indexer by setting the type, and by providing connection information that includes an Azure Storage account along with a blob container. È possibile suddividere in subset i BLOB creando una directory virtuale, che si potrà poi passare come parametro, oppure filtrando in base a un'estensione del tipo di file.You can subset your blobs by creating a virtual directory, which you can then pass as a parameter, or by filtering on a file type extension.

Un indicizzatore esegue il "cracking di documenti", aprendo un BLOB per esaminare il contenuto.An indexer does the "document cracking", opening a blob to inspect content. Dopo la connessione all'origine dati, è il primo passaggio della pipeline.After connecting to the data source, it's the first step in the pipeline. Per i dati BLOB, è la fase in cui vengono rilevati PDF, documenti di Office e altri tipi di contenuto.For blob data, this is where PDF, office docs, and other content types are detected. Il cracking di documenti con estrazione del testo non prevede alcun addebito.Document cracking with text extraction is no charge. Se i BLOB contengono contenuto di tipo immagine, le immagini vengono ignorate, a meno che non si aggiunga l'arricchimento tramite intelligenza artificiale.If your blobs contain image content, images are ignored unless you add AI enrichment. L'indicizzazione standard si applica solo al contenuto di testo.Standard indexing applies to text content only.

L'indicizzatore BLOB accetta parametri di configurazione e supporta il rilevamento delle modifiche se i dati sottostanti forniscono informazioni sufficienti.The Blob indexer comes with configuration parameters and supports change tracking if the underlying data provides sufficient information. Altre informazioni sulle funzionalità di base sono disponibili in Indicizzatore per l'archivio BLOB di Ricerca cognitiva di Azure.You can learn more about the core functionality in Azure Cognitive Search Blob storage indexer.

Tipi di contenuto supportatiSupported content types

Eseguendo un indicizzatore BLOB su un contenitore, è possibile estrarre testo e metadati dai tipi di contenuto seguenti con una singola query:By running a Blob indexer over a container, you can extract text and metadata from the following content types with a single query:

Indicizzazione di metadati BLOBIndexing blob metadata

Uno scenario comune che semplifica l'ordinamento nei BLOB di qualsiasi tipo di contenuto consiste nell'indicizzare i metadati personalizzati e le proprietà di sistema per ogni BLOB.A common scenario that makes it easy to sort through blobs of any content type is to index both custom metadata and system properties for each blob. In questo modo, le informazioni per tutti i BLOB vengono indicizzate indipendentemente dal tipo di documento, archiviate in un indice nel servizio di ricerca.In this way, information for all blobs is indexed regardless of document type, stored in an index in your search service. Usando il nuovo indice, è quindi possibile ordinare, filtrare e ottimizzare tutto il contenuto dell'archivio BLOB.Using your new index, you can then proceed to sort, filter, and facet across all Blob storage content.

Nota

I tag indice dei BLOB sono indicizzati in modo nativo dal servizio di archiviazione BLOB ed esposti per l'esecuzione di query.Blob Index tags are natively indexed by the Blob storage service and exposed for querying. Se gli attributi chiave/valore dei BLOB richiedono funzionalità di indicizzazione e filtro, è consigliabile usare i tag indice dei BLOB anziché i metadati.If your blobs' key/value attributes require indexing and filtering capabilities, Blob Index tags should be leveraged instead of metadata.

Per altre informazioni sull'indice BLOB, vedere Manage and find data on Azure Blob Storage with Blob Index (Gestire e trovare i dati nell'archiviazione BLOB di Azure con l'indice BLOB).To learn more about Blob Index, see Manage and find data on Azure Blob Storage with Blob Index.

Indicizzazione di BLOB JSONIndexing JSON blobs

È possibile configurare gli indicizzatori in modo da estrarre il contenuto strutturato trovato nei BLOB che contengono JSON.Indexers can be configured to extract structured content found in blobs that contain JSON. Un indicizzatore può leggere BLOB JSON e analizzare il contenuto strutturato nei campi appropriati di un documento di ricerca.An indexer can read JSON blobs and parse the structured content into the appropriate fields of a search document. Gli indicizzatori possono anche usare BLOB che contengono una matrice di oggetti JSON ed eseguire il mapping di ogni elemento a un documento di ricerca separato.Indexers can also take blobs that contain an array of JSON objects and map each element to a separate search document. È possibile impostare una modalità di analisi per influenzare il tipo di oggetto JSON creato dall'indicizzatore.You can set a parsing mode to affect the type of JSON object created by the indexer.

Cercare contenuto BLOB in un indice di ricercaSearch blob content in a search index

L'output di un indicizzatore è un indice di ricerca, usato per l'esplorazione interattiva con testo libero e query filtrate in un'app client.The output of an indexer is a search index, used for interactive exploration using free text and filtered queries in a client app. Per l'esplorazione e la verifica iniziale del contenuto, è consigliabile iniziare con Esplora ricerche nel portale per esaminare la struttura del documento.For initial exploration and verification of content, we recommend starting with Search Explorer in the portal to examine document structure. In Esplora ricerche è possibile usare una sintassi di query semplice, una sintassi di query completa e una sintassi delle espressioni di filtro.You can use simple query syntax, full query syntax, and filter expression syntax in Search explorer.

Una soluzione più permanente consiste nel raccogliere gli input della query e presentare la risposta sotto forma di risultati della ricerca in un'applicazione client.A more permanent solution is to gather query inputs and present the response as search results in a client application. L'esercitazione per C# seguente illustra come creare un'applicazione di ricerca: Creare la prima applicazione in Ricerca cognitiva di Azure.The following C# tutorial explains how to build a search application: Create your first application in Azure Cognitive Search.

Passaggi successiviNext steps