Cercare Archiviazione BLOB di Azure contenuto

La ricerca in tutta la varietà di tipi di contenuto archiviati in Archiviazione BLOB di Azure può essere un problema difficile da risolvere, ma Ricerca di intelligenza artificiale di Azure offre un'integrazione approfondita a livello di contenuto, l'estrazione e l'inferenza di informazioni testuali, che possono quindi essere sottoposte a query in un indice di ricerca.

In questo articolo esaminare il flusso di lavoro di base per estrarre contenuto e metadati dai BLOB e inviarli a un indice di ricerca in Ricerca di intelligenza artificiale di Azure. È possibile eseguire query sull'indice risultante usando la ricerca full-text. Facoltativamente, è possibile inviare contenuto BLOB elaborato a un archivio conoscenze per scenari non di ricerca.

Nota

Già familiarità con il flusso di lavoro e la composizione? Configurare un indicizzatore BLOB è il passaggio successivo.

Cosa significa aggiungere la ricerca full-text ai dati BLOB

Ricerca di intelligenza artificiale di Azure è un servizio di ricerca autonomo che supporta l'indicizzazione e le query dei carichi di lavoro su indici definiti dall'utente che contengono il contenuto ricercabile privato ospitato nel cloud. Collocare il contenuto ricercabile insieme al motore di query nel cloud è necessario per le prestazioni, per restituire i risultati alla velocità che gli utenti si aspettano dalle query di ricerca.

Ricerca di intelligenza artificiale di Azure si integra con 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 in formato libero ed espressioni di filtro. Poiché il contenuto BLOB viene indicizzato in un indice di ricerca, è possibile usare l'intera gamma di funzionalità di query in Ricerca di intelligenza artificiale di Azure per trovare informazioni nel contenuto BLOB.

Gli input sono i BLOB, in un singolo contenitore, in Archiviazione BLOB di Azure. I BLOB possono essere pressoché qualunque tipo di dati di testo. Se i BLOB contengono immagini, è possibile aggiungere l'arricchimento tramite intelligenza artificiale per creare ed estrarre testo e funzionalità dalle immagini.

L'output è sempre un indice di Ricerca intelligenza artificiale di Azure, usato per la ricerca di testo veloce, il recupero e l'esplorazione nelle applicazioni client. Al centro c'è l'architettura della pipeline di indicizzazione vera e propria. La pipeline è basata sulla funzionalità indicizzatore, descritta più avanti in questo articolo.

Dopo aver creato e popolato l'indice, esiste indipendentemente dal contenitore BLOB, ma è possibile rieseguire le operazioni di indicizzazione per aggiornare l'indice in base ai documenti modificati. Per il rilevamento delle modifiche vengono usate le informazioni di data e ora nei singoli BLOB. Come meccanismo di aggiornamento si può optare per l'esecuzione pianificata o per l'indicizzazione su richiesta.

Risorse usate in una soluzione di ricerca BLOB

Sono necessari Ricerca intelligenza artificiale di Azure, Archiviazione BLOB di Azure e un client. Ricerca di intelligenza artificiale di Azure è in genere uno dei diversi componenti di una soluzione, in cui il codice dell'applicazione emette richieste api di query e gestisce la risposta. È anche possibile scrivere codice dell'applicazione per gestire l'indicizzazione, anche se per le attività di test di verifica e di impromptuità, è comune usare la portale di Azure come client di ricerca.

All'interno di Blob Archiviazione, è necessario un contenitore che fornisce il contenuto di origine. È possibile impostare criteri di inclusione ed esclusione dei file e specificare le parti di un BLOB indicizzate in Ricerca di intelligenza artificiale di Azure.

È possibile iniziare direttamente nella pagina del portale account Archiviazione.

  1. Nella pagina di spostamento a sinistra in Gestione dati selezionare Ricerca di intelligenza artificiale di Azure per selezionare o creare un servizio di ricerca.

  2. Seguire i passaggi della procedura guidata per estrarre e, facoltativamente, creare contenuto ricercabile dai BLOB. Il flusso di lavoro è la procedura guidata Importa dati. Il flusso di lavoro crea un set di competenze di indicizzatore, origine dati, indice e opzione nel servizio di ricerca di intelligenza artificiale di Azure.

    Screenshot of the Azure AI Search wizard in the Azure Storage portal page.

  3. Usare Esplora ricerche nella pagina del portale di ricerca per eseguire query sul contenuto.

La procedura guidata è la posizione migliore per iniziare, ma si scopriranno opzioni più flessibili quando si configura manualmente un indicizzatore BLOB. È possibile usare un client REST. Esercitazione: Indicizzare e cercare dati semistrutturati (BLOB JSON) illustra i passaggi per chiamare l'API REST.

Modalità di indicizzazione dei BLOB

Per impostazione predefinita, la maggior parte dei BLOB viene indicizzata come un singolo documento di ricerca nell'indice, inclusi i BLOB con contenuto strutturato, ad esempio JSON o CSV, indicizzati come un singolo blocco di testo. Tuttavia, per i documenti JSON o CSV con una struttura interna (delimitatori), è possibile assegnare modalità di analisi per generare singoli documenti di ricerca per ogni riga o elemento:

Documento composto o incorporato,ad esempio un archivio ZIP, un documento di Word con posta elettronica di Outlook incorporata contenente allegati o un oggetto . Anche il file MSG con allegati) viene indicizzato come singolo documento. Ad esempio, tutte le immagini estratte dagli allegati di un oggetto . Il file MSG verrà restituito nel campo normalized_images. Se si hanno immagini, è consigliabile aggiungere l'arricchimento tramite intelligenza artificiale per ottenere più utilità di ricerca da tale contenuto.

Il contenuto testuale di un documento viene estratto in un campo stringa denominato "content". È anche possibile estrarre metadati standard e definiti dall'utente.

Nota

Ricerca di intelligenza artificiale di Azure impone limiti dell'indicizzatore sulla quantità di testo che estrae a seconda del piano tariffario. Se i documenti vengono troncati, verrà visualizzato un avviso nella risposta di stato dell'indicizzatore.

Usare un indicizzatore BLOB per l'estrazione di contenuto

Un indicizzatore è un sottoservizio compatibile con l'origine dati in Ricerca di intelligenza artificiale di Azure, dotato di logica interna per il campionamento dei dati, la lettura e il recupero di dati e metadati e la serializzazione dei dati dai formati nativi nei documenti JSON per l'importazione successiva.

I BLOB in Archiviazione di Azure vengono indicizzati usando l'indicizzatore BLOB. È possibile richiamare questo indicizzatore usando il comando Ricerca di intelligenza artificiale di Azure in Archiviazione di Azure, la procedura guidata Importa dati, un'API REST o .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. È 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.

Un indicizzatore "crepa un documento", aprendo un BLOB per esaminare il contenuto. Dopo la connessione all'origine dati, è il primo passaggio della pipeline. Per i dati BLOB, questo è il percorso in cui vengono rilevati PDF, documenti di Office e altri tipi di contenuto. Il cracking di documenti con estrazione del testo non prevede alcun addebito. Se i BLOB contengono contenuto di tipo immagine, le immagini vengono ignorate, a meno che non si aggiunga l'arricchimento tramite intelligenza artificiale. L'indicizzazione standard si applica solo al contenuto di testo.

L'indicizzatore BLOB accetta parametri di configurazione e supporta il rilevamento delle modifiche se i dati sottostanti forniscono informazioni sufficienti. Per altre informazioni sulle funzionalità di base dell'indicizzatore BLOB, vedere.

Livelli di accesso supportati

I livelli di accesso all'archiviazione BLOB includono accesso frequente, sporadico e archivio. È possibile accedere solo agli indicizzatori ad accesso frequente e sporadico.

Tipi di contenuto supportati

Eseguendo un indicizzatore BLOB su un contenitore, è possibile estrarre testo e metadati dai tipi di contenuto seguenti con una singola query:

  • CSV (vedere Indicizzazione di BLOB CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (vedere Indicizzazione di BLOB JSON)
  • KML (XML per le rappresentazioni geografiche)
  • Formati di Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPTM, MSG (messaggi di posta elettronica di Outlook), XML (xml sia 2003 che 2006 WORD XML)
  • Formati di documento aperti: ODT, ODS, ODP
  • PDF
  • File di testo normale (vedere anche Indicizzazione di testo normale)
  • RTF
  • XML
  • ZIP

Controllo dei BLOB da indicizzare

È possibile controllare quali BLOB vengono indicizzati e quali vengono ignorati dal tipo di file del BLOB o impostando le proprietà sul BLOB stesso, causando il passaggio dell'indicizzatore.

Includere estensioni di file specifiche impostando "indexedFileNameExtensions" un elenco delimitato da virgole di estensioni di file (con un punto iniziale). Escludere estensioni di file specifiche impostando "excludedFileNameExtensions" le estensioni che devono essere ignorate. Se la stessa estensione si trova in entrambi gli elenchi, verrà esclusa dall'indicizzazione.

PUT /indexers/[indexer name]?api-version=2023-11-01
{
    "parameters" : { 
        "configuration" : { 
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpeg" 
        } 
    }
}

Aggiungere metadati "skip" al BLOB

I parametri di configurazione dell'indicizzatore si applicano a tutti i BLOB nel contenitore o nella cartella. In alcuni casi, si vuole controllare la modalità di indicizzazione dei singoli BLOB.

Aggiungere le proprietà e i valori dei metadati seguenti ai BLOB nell'Archiviazione BLOB. Quando l'indicizzatore rileva questa proprietà, ignora il BLOB o il relativo contenuto nell'esecuzione dell'indicizzazione.

Nome della proprietà Valore proprietà Spiegazione
"AzureSearch_Skip" "true" Indica all'indicizzatore BLOB di ignorare completamente il BLOB. Non verrà tentata l'estrazione dei metadati né del contenuto. È utile quando un determinato BLOB ha ripetutamente esito negativo e interrompe il processo di indicizzazione.
"AzureSearch_SkipContent" "true" Equivale all'impostazione "dataToExtract" : "allMetadata" descritta in precedenza con ambito per un BLOB specifico.

Indicizzazione di metadati BLOB

Uno scenario comune che semplifica l'ordinamento tramite BLOB di qualsiasi tipo di contenuto consiste nell'indicizzare sia i metadati personalizzati che le proprietà di sistema per ogni 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. Usando il nuovo indice, è quindi possibile ordinare, filtrare e ottimizzare tutto il contenuto dell'archivio BLOB.

Nota

I tag indice dei BLOB sono indicizzati in modo nativo dal servizio di archiviazione BLOB ed esposti per l'esecuzione di query. Se gli attributi chiave/valore dei BLOB richiedono funzionalità di indicizzazione e filtro, è consigliabile usare i tag indice dei BLOB anziché i metadati.

Per altre informazioni sull'indice BLOB, vedere Gestire e trovare i dati in Archiviazione BLOB di Azure con l'indice BLOB.

Cercare contenuto BLOB in un indice di ricerca

L'output di un indicizzatore è un indice di ricerca, usato per l'esplorazione interattiva usando testo libero e query filtrate in un'app client. Per l'esplorazione e la verifica iniziale del contenuto, è consigliabile iniziare con Esplora ricerche nel portale per esaminare la struttura del documento. In Esplora ricerche è possibile usare:

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. L'esercitazione C# seguente illustra come compilare un'applicazione di ricerca: Aggiungere la ricerca a un'applicazione ASP.NET Core (MVC).

Passaggi successivi