Che cos'è la Ricerca di Azure?

Ricerca di Azure è una soluzione cloud di ricerca distribuita come servizio che offre agli sviluppatori le API e gli strumenti per ottenere un'esperienza di ricerca avanzata tra i dati nelle applicazioni Web, per dispositivi mobili ed enterprise.

La funzionalità viene esposta tramite una semplice API REST o un SDK .NET che maschera la complessità intrinseca della tecnologia di ricerca. Oltre alle API, il portale di Azure consente di avere il supporto per l'amministrazione e la creazione di prototipi. La disponibilità e l'infrastruttura sono gestiti da Microsoft.

Riepilogo delle funzionalità

Categoria Funzionalità
Ricerca full-text e analisi del testo Ricerca full-text è un caso di uso principale per la maggior parte delle app basate sulla ricerca. È possibile formulare query servendosi di una sintassi supportata:

Semplice sintassi di query, in grado di offrire operatori logici, operatori di ricerca di una frase, operatori di suffisso, operatori di precedenza.

Sintassi di query Lucene offre tutto il supporto delle query semplici oltre a ricerca fuzzy, ricerca per prossimità, aumento della priorità dei termini ed espressioni regolari.
Integrazione dei dati Gli indici di Ricerca di Azure accettano i dati provenienti da qualsiasi origine, purché vengano inviati come struttura di dati JSON.

Facoltativamente, per le origini dati supportate in Azure è possibile usare gli indicizzatori per eseguire automaticamente una ricerca per indicizzazione nel database SQL di Azure, in Azure Cosmos DB o nell'Archiviazione BLOB di Azure per sincronizzare il contenuto dell'indice di ricerca con l'archivio dati primario. Gli indicizzatori BLOB di Azure possono eseguire la decifrazione del documento per indicizzare i principali formati di file inclusi documenti Microsoft Office, PDF e HTML.
Analisi di ricerca Gli analizzatori lessicali personalizzati sono disponibili per le query di ricerca complesse che usano la corrispondenza fonetica e le espressioni regolari.
Supporto per le lingue Analizzatori di linguaggio di Lucene così come i processori del linguaggio naturale di Microsoft disponibili in 56 lingue diverse per gestire in modo intelligente le funzionalità linguistiche di una lingua specifica tra cui i tempi verbali, il genere, i sostantivi plurali irregolari, ad esempio "uomo" e "uomini", la scomposizione delle parole, il ritorno a capo, per le lingue senza spazi, e altro.
Ricerca geografica La Ricerca di Azure elabora, filtra e visualizza le posizioni geografiche in modo intelligente. Consente agli utenti di esplorare i dati in base alla prossimità di un risultato della ricerca a una posizione fisica. Guardare questo video o rivedere questo esempio per altre informazioni.
Funzioni per l'esperienza utente I suggerimenti per la ricerca possono essere abilitati per le query di digitazione in una barra di ricerca. I documenti presenti nell'indice sono suggeriti come input di ricerca parziale inserita dagli utenti.

L'Esplorazione in base a facet viene abilitata tramite un singolo parametro di query. La Ricerca di Azure restituisce una struttura di esplorazione in base a facet che è possibile usare come codice alla base di un elenco di categorie per i filtri autoindirizzati, ad esempio per filtrare gli elementi di un catalogo in base all'intervallo di prezzi o al marchio.

È possibile usare i filtri per incorporare l'esplorazione in base a facet nell'interfaccia utente dell'applicazione, migliorare la formulazione di query e filtrare in base a criteri specificati dall'utente o dallo sviluppatore. Creare filtri mediante la sintassi OData.

L'evidenziazione dei risultati applica la formattazione visiva a una parola chiave corrispondente nei risultati della ricerca. È possibile scegliere i campi che devono restituire i frammenti evidenziati.

L'ordinamento è disponibile per più campi tramite lo schema dell'indice e viene attivato o disattivato in fase di query con un solo parametro di ricerca.

Il paging e la limitazione dei risultati della ricerca non comportano alcuna difficoltà grazie al controllo accurato che Ricerca di Azure offre sui risultati della ricerca.
Pertinenza La semplicità di assegnazione dei punteggi è un vantaggio chiave di Ricerca di Azure. I profili di punteggio vengono usati per modellare la rilevanza in funzione dei valori nei documenti stessi. Ad esempio, si potrebbe decidere che prodotti più recenti o prodotti scontati compaiano prima tra i risultati della ricerca. È inoltre possibile compilare profili di puntaggio utilizzando tag per il punteggio personalizzati in base alle preferenze di ricerca cliente che sono stati rilevati e archiviati separatamente.
Monitoraggio e reporting I dati sull'analisi del traffico di ricerca possono essere raccolti e analizzati per dedurre informazioni sulla base delle parole digitate dagli utenti nella casella di ricerca.

Le metriche sulle query al secondo, sulla latenza e sulla limitazione vengono acquisite e inserite in report nelle pagine del portale, senza necessità di configurazioni aggiuntive. È anche possibile monitorare con facilita i conteggi di indici e documenti in modo da regolare la capacità in base alle necessità. Per altre informazioni, vedere Amministrazione del servizio
Strumenti per la creazione di prototipi e l'ispezione Nel portale è possibile usare la procedura guidata di importazione dei dati per configurare gli indicizzatori, indicizzare la finestra di progettazione e usare Esplora ricerche per testare le query e migliorare i profili di punteggio. È inoltre possibile aprire un indice qualsiasi per visualizzarne lo schema.
Infrastruttura La piattaforma a disponibilità elevata garantisce un'esperienza del servizio di ricerca estremamente affidabile. Se si applica una scala corretta, Ricerca di Azure offre un contratto di servizio con disponibilità del 99,9%.

Gestione completa e scalabile come soluzione end-to-end, Ricerca di Azure non richiede assolutamente alcun tipo di gestione dell'infrastruttura. Il servizio può essere adattato alle proprie esigenze scalando in due dimensioni per gestire più archivi di documenti, carichi di query maggiori o entrambi.

Funzionamento

Passaggio 1: Effettuare il provisioning del servizio

È possibile attivare un servizio Ricerca di Azure nel Portale di Azure o attraverso l'API Azure Resource Management. È possibile scegliere il servizio gratuito condiviso con altri sottoscrittori, o un livello a pagamento che dedica risorse usate solo dal proprio servizio. Per i livelli a pagamento, è possibile scalare il servizio in due dimensioni:

  • Aggiungere Repliche per aumentare la capacità di gestire carichi di lavoro elevati di query.
  • Aggiungere Partizioni per aumentare la risorsa di archiviazione per più documenti.

Tramite la gestione separata della risorsa di archiviazione del documento e della velocità effettiva della query, è possibile calibrare le risorse in base ai requisiti di produzione.

Passaggio 2: Creare un indice

Per poter caricare il contenuto ricercabile, è innanzitutto necessario definire un indice di Ricerca di Azure. Un indice è simile a una tabella di database che contiene i dati e può accettare query di ricerca. È necessario definire lo schema di indice per riflettere la struttura dei documenti in cui si desidera eseguire la ricerca, in modo analogo ai campi in un database.

È possibile creare uno schema nel portale di Azure o a livello di codice usando .NET SDK o l'API REST.

Passaggio 3: Indicizzare i dati

Dopo aver definito un indice, si è pronti per caricare il contenuto. È possibile usare un modello push o pull.

Il modello pull recupera i dati da origini dati esterne. È supportato tramite indicizzatori che semplificano e automatizzano degli aspetti dell'operazione di inserimento di dati, ad esempio la connessione, la lettura e la serializzazione dei dati. Gli indicizzatori sono disponibili per Azure Cosmos DB, Database SQL di Azure, Archiviazione BLOB di Azure e SQL Server ospitato in una macchina virtuale di Azure. È possibile configurare un indicizzatore per l'aggiornamento dati su richiesta o pianificato.

Il modello push viene fornito tramite il componente SDK o l'API REST per l'invio di documenti aggiornati a un indice. È possibile eseguire il push dei dati da qualsiasi set di dati usando il formato JSON. Per informazioni sul caricamento dei dati, vedere Aggiungere, aggiornare o eliminare documenti oppure Come usare .NET SDK.

Dopo avere compilato un indice, è possibile eseguire query di ricerca nell'endpoint di servizio tramite semplici richieste HTTP con l'API REST o .NET SDK.

Confronto

I clienti spesso chiedono com'è la ricerca full-text in Ricerca di Azure in confronto alla ricerca full-text nel loro prodotto database. La risposta è che le funzionalità del linguaggio di Ricerca di Azure sono più ricche e più flessibili, con il supporto per query Lucene, gli analizzatori di linguaggi Lucene e Microsoft, gli analizzatori personalizzati per la fonetica o altri input specializzati e la possibilità di unire i dati da più origini nell'indice di ricerca.

Un altro punto di flesso è che una soluzione di ricerca fa riferimento all'intera esperienza di ricerca. Ad esempio, si può volere un punteggio personalizzato dei risultati, un'esplorazione in base a facet per i filtri autoindirizzati, un'evidenziazione dei risultati e suggerimenti di query typeahead.

Gli strumenti per il monitoraggio e la comprensione delle attività di query possono anche fattorizzarsi in una decisione di soluzione della ricerca. Ad esempio, Ricerca di Azure supporta l'Analisi del traffico di ricerca per la metrica sul tasso di click-through, le ricerche più frequenti, le ricerche senza clic e così via. Nei prodotti in cui la ricerca è un componente aggiuntivo è improbabile trovare queste funzionalità.

L'uso delle risorse è un'altra considerazione. La ricerca del linguaggio naturale è spesso impegnativa da un punto di vista computazionale. Alcuni dei nostri clienti hanno scaricato le operazioni di ricerca in Ricerca di Azure per conservare le risorse del computer per l'elaborazione delle transazioni. Dalla ricerca di esternalizzazione, è possibile modificare facilmente la scala in modo che corrisponda al volume della query.

Dopo aver deciso di passare alla ricerca dedicata, la scelta successiva è tra un servizio cloud o un server locale. Un servizio cloud è la scelta giusta se si desidera una soluzione chiavi in mano con sovraccarico e manutenzione minimi e scala regolabile.

All'interno del paradigma di cloud, molti provider offrono funzionalità di base simili, con ricerca full-text, ricerca geografica e la possibilità di gestire un certo livello di ambiguità negli input di ricerca. In genere sono una funzionalità specializzata o la semplicità e la facilità d'uso generale di API, strumenti e gestione a determinare la scelta ideale.

Tra i provider di cloud, Ricerca di Azure offre le migliori prestazioni nei carichi di lavoro con ricerca full-text in archivi di contenuti e database in Azure, per le app che fanno principalmente affidamento sulla ricerca per il recupero delle informazioni e l'esplorazione dei contenuti. Ecco i principali vantaggi:

  • Integrazione dei dati in Azure (crawler) al livello di indicizzazione
  • Portale di Azure per la gestione centralizzata
  • Scalabilità, affidabilità e massima disponibilità proprie di Azure
  • Analisi linguistica e personalizzata, con analizzatori per una robusta ricerca full-text in 56 lingue
  • Funzionalità di base comuni per le app basate sulla ricerca: assegnazione dei punteggi, esplorazione in base a facet, suggerimenti, sinonimi, ricerca geografica e così via.

Nota

Per maggiore chiarezza, le origini dati diverse da Azure non sono completamente supportate, ma si basano su una metodologia di push più dispendiosa a livello di codice piuttosto che sugli indicizzatori. Usando le API, è possibile reindirizzare qualsiasi raccolta di documenti JSON in un indice di Ricerca di Azure.

Tra i clienti, i casi in grado di sfruttare la gamma più ampia di funzionalità di Ricerca di Azure includono cataloghi online, programmi line of business e applicazioni di individuazione di documenti.

API REST | .NET SDK

Mentre è possibile eseguire nel portale molte attività, la Ricerca di Azure è pensata per gli sviluppatori che vogliono integrare funzionalità di ricerca in applicazioni esistenti. Sono disponibili le seguenti interfacce di programmazione.

Piattaforma Descrizione
REST Comandi HTTP supportati da qualsiasi piattaforma e linguaggio di programmazione, inclusi Xamarin, Java e JavaScript
.NET SDK Il wrapper .NET per l'API REST offre una codifica efficiente in C# e altri linguaggi di codice destinati a .NET Framework

Versione di prova gratuita

I sottoscrittori di Azure possono effettuare il provisioning di un servizio al livello gratuito.

Se non si è abbonati, è possibile aprire un account Azure gratuitamente. Si riceveranno crediti per provare i servizi di Azure a pagamento. Quando i crediti saranno esauriti, sarà possibile mantenere l'account e usare i servizi di Azure gratuiti. Verranno applicati addebiti alla carta di credito solo se l'utente modifica le impostazioni e richiede esplicitamente l'addebito.

In alternativa, è possibile attivare i benefici della sottoscrizione MSDN: con la sottoscrizione MSDN ogni mese si accumulano crediti che è possibile usare per i servizi di Azure a pagamento.

Attività iniziali

  1. Creare un servizio nel livello gratuito.

  2. Eseguire una o più esercitazioni tra quelle indicate di seguito.

I motori di ricerca sono i principali fautori del recupero delle informazioni nelle app per dispositivi mobili, sul Web e negli archivi dati aziendali. La Ricerca di Azure offre gli strumenti per creare un'esperienza di ricerca simile a quella dei siti Web commerciali di grandi dimensioni.

In questo video di 9 minuti prodotto dal program manager Liam Cavanagh, sono presenti informazioni su come l'app possa trarre vantaggio dall'integrazione di un motore di ricerca. Brevi demo riguardano le funzionalità principali in Ricerca di Azure e l'aspetto di un tipico flusso di lavoro.

  • Da 0 a 3 minuti: funzionalità chiave e casi d'uso.
  • Da 3 a 4 minuti: provisioning del servizio.
  • Da 4 a 6 minuti: procedura guidata di importazione dei dati per creare un indice usando il set di dati predefinito per il mercato immobiliare.
  • Da 6 a 9 minuti: Esplora ricerche e varie query.