Nel mondo cloud di Microsoft i blob di Azure Storage sono lo strumento principale da usare per depositare file in modo sicuro, affidabile e scalabile. Si accedono via REST e con qualsiasi linguaggio, hanno uno spazio infinito (o quasi) e sono ampiamenti sfruttati dall'infrastruttura stessa.
Sulla stessa piattaforma, Azure Search è invece lo strumento dedicato ad indicizzare e offrire API REST per effettuare ricerche, suggerire e categorizzare documenti in senso lato. Entrambi gli strumenti possono essere usati congiuntamente perché non solo Azure Search è in grado di ricevere contenuti con uno schema da noi indicato, ma anche disporre di indexer che vadano a pescare contenuti dai blob stessi. Il motore è in grado infatti di indicizzare i contenuti di file come PDF, DOCX, XSLX, ZIP, XML e HTML, per citarne alcuni, e catturarne i metadati principali, come il titolo, l'autore e la lingua.
Collegare uno storage alla ricerca è ancora più facile. E' sufficiente recarsi sullo storage di riferimento e accedere alla sezione Add Azure Search. Ci viene proposto il servizio di Search da collegare, che deve già esistere.

Il wizard ci porta poi a selezionare lo storage e il container da indicizzare, eventualmente filtrando per cartella. Possiamo decidere se indicizzare solo i metadati o anche il contenuto. Se siamo certi del tipo di file possiamo indicare anche il parsing mode, su JSON o Plain text, altrimenti lasciamo il default che lascia il compito al motore di capire il tipo di parser più adatto.

Dopo un'analisi del container, il quale deve obbligatoriamente avere uno o più file campione, ci viene proposto il tipo di indice che verrà creato: il nome, la chiave di riferimento (il path del blob) e i cambi individuati con il tipo di operazione che vogliamo supportare.

Come ultimo step dobbiamo configurare l'indexer, cioè con quale frequenza indicizzare i nuovi blob o quelli cambiati, operazione effettuata tramite il LastModifiedDate del blob.

Fatta quest'ultima operazione non ci resta che andare nella sezione Azure Search e vedere che sono stati creati un index, un indexer e un data source. Possiamo procedere a più indexer per ottenere più potenza e partizionare i documenti da processare.

Premendo sull'indexer possiamo forzare l'esecuzione del motore, mentre accedendo all'index possiamo procedere ad un'interrogazione dell'indice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il multi-checkout nelle pipeline di Azure DevOps
Tracciare il body delle richieste fallite con Application Insights in .NET Core
Tracciare le modifiche apportate in Azure Blob Storage
Visual Studio Code per lo sviluppo in team
Caricare le immagini di una pagina in lazy loading con Angular
Validare una pipeline YAML senza eseguirla in Azure DevOps
Tenere traccia di tutte le modifiche ai dati con Entity Framework Core
Utilizzare la modalità serverless con Azure Cosmos DB
Conteggiare le connessioni SignalR aperte in Blazor Server
Riconoscimento dei contenuti delle immagini con Azure Logic Apps e Content Moderator
a novembre uscirà #net5 e noi non vogliamo farci trovare impreparati: ecco #netconfit, il 24 novembre, in streaming. Iscrizioni aperte => https://aspit.co/netconfit-20 CFP nel mese di luglio, ma intanto bloccate il vostro posto! #netconf #aspnet5 #visualstudio #azure
Gestire il timeout di esecuzione dei task nelle pipeline di Azure DevOps
I più letti di oggi
- Modificare la modalità di esecuzione delle query con Include in Entity Framework Core 5
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Effettuare l'upload di un file da Blazor su Azure Blob Storage
- Creare un web server locale con LiveReload
- Chiamare direttamente un numero di telefono con HTML5