Questo scenario di esempio illustra in che modo l'uso di un servizio di ricerca dedicato può aumentare drasticamente la pertinenza dei risultati della ricerca per i clienti dei siti di e-commerce.
Architettura
Scaricare un file di Visio di questa architettura.
Workflow
Questo scenario illustra una soluzione di e-commerce in cui i clienti possono eseguire ricerche all'interno di un catalogo prodotti.
- I clienti accedono all'applicazione Web di e-commerce da qualsiasi dispositivo.
- Il catalogo dei prodotti viene mantenuto in un database SQL di Azure per l'elaborazione transazionale.
- Azure AI Search usa un indicizzatore di ricerca per mantenere automaticamente aggiornato l'indice tramite il rilevamento delle modifiche integrato.
- Le query di ricerca dei clienti vengono inviate al servizio Azure AI, che elabora la query e restituisce i risultati più pertinenti.
- Come alternativa all'esperienza di ricerca basata sul Web, i clienti possono anche usare un bot di conversazione nei social media o direttamente un assistente digitale per cercare prodotti e perfezionare le query di ricerca e i risultati in modo incrementale.
- Facoltativamente, i clienti possono usare la funzionalità set di competenze per applicare l'intelligenza artificiale e ottenere un'elaborazione ancora più intelligente.
Componenti
- Servizio app di Azure - App Web, che ospita applicazioni Web con scalabilità automatica e disponibilità elevata senza che sia necessario gestire l'infrastruttura.
- Azure SQL Database è un servizio gestito di database relazionale per utilizzo generico in Microsoft Azure che supporta strutture come dati relazionali, JSON, dati spaziali e XML.
- AI Search è una soluzione cloud di ricerca distribuita come servizio che offre un'esperienza di ricerca avanzata su contenuti eterogenei e privati nelle applicazioni Web, per dispositivi mobili e aziendali.
- Azure AI Bot Service offre gli strumenti per creare, testare, distribuire e gestire bot intelligenti.
- Servizi di Azure AI consente di usare algoritmi intelligenti per vedere, ascoltare, parlare, comprendere e interpretare le esigenze degli utenti tramite metodi di comunicazione naturali.
Alternative
- È possibile usare funzionalità di ricerca nel database, ad esempio tramite la ricerca full-text di SQL Server, ma in questo caso l'archivio transazionale elabora anche le query (aumentando la necessità di potenza di elaborazione) e le funzionalità di ricerca all'interno del database sono più limitate.
- È possibile ospitare il software open source Apache Lucene (su cui è basato Azure AI Search) in Macchine virtuali di Azure, ma in questo caso si torna a un'infrastruttura distribuita come servizio (IaaS) e non si usufruisce delle numerose funzionalità aggiuntive fornite da AI Search rispetto a Lucene.
- Si può anche considerare la distribuzione di Elasticsearch da Microsoft Azure Marketplace, che è un prodotto di ricerca alternativo e idoneo di un fornitore di terze parti, ma anche in questo caso si esegue un carico di lavoro IaaS.
Altre opzioni per il livello dati includono:
- Azure Cosmos DB è il database multimodello di Microsoft distribuito a livello globale. Azure Cosmos DB offre una piattaforma per eseguire altri modelli di dati come MongoDB, Cassandra, dati Graph o un semplice archivio tabelle. AI Search supporta anche l'indicizzazione dei dati direttamente da Azure Cosmos DB.
Dettagli dello scenario
La ricerca è il meccanismo principale attraverso cui i clienti trovano e infine acquistano i prodotti. È quindi essenziale che i risultati della ricerca siano pertinenti alla finalità della query di ricerca e che l'esperienza di ricerca end-to-end corrisponda a quella offerta dai giganti della ricerca, fornendo risultati quasi immediati, analisi linguistica, corrispondenza in base alla posizione geografica, filtri, facet, completamento automatico, evidenziazione dei risultati e così via.
Si immagini un'applicazione Web di e-commerce tipica con i dati dei prodotti archiviati in un database relazionale, ad esempio SQL Server o il database SQL. Le query di ricerca vengono spesso gestite all'interno del database usando LIKE
query o funzionalità di oppure funzionalità di ricerca full-text. Usando AI Search, è possibile liberare il database operativo dall'elaborazione delle query, iniziando facilmente a sfruttare i vantaggi di quelle funzionalità difficili da implementare che però forniscono ai clienti l'esperienza di ricerca migliore possibile. Inoltre, poiché AI Search è una piattaforma distribuita come servizio (PaaS), non è necessario preoccuparsi della gestione dell'infrastruttura né diventare esperti nella ricerca.
Potenziali casi d'uso
Questa soluzione è ottimizzata per il settore della vendita al dettaglio.
Gli altri casi d'uso pertinenti includono:
- Ricerca di annunci immobiliari o negozi vicino alla posizione fisica dell'utente (per le strutture e il settore immobiliare).
- Cercare articoli in un sito di notizie o cercare risultati sportivi, con preferenza per le informazioni più recenti (per i settori sporti, media e intrattenimento).
- Eseguire ricerche in archivi di grandi dimensioni di organizzazioni incentrate sui documenti, ad esempio studi notarili e responsabili delle politiche.
In ultima analisi, qualsiasi applicazione con funzionalità di ricerca può trarre vantaggio da un servizio di ricerca dedicato.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.
Scalabilità
Il piano tariffario del servizio Ricerca cognitiva di Azure viene usato principalmente per la pianificazione della capacità, poiché definisce l'archiviazione massima disponibile e il numero di partizioni e repliche di cui è possibile eseguire il provisioning. Le partizioni consentono di indicizzare più documenti e ottenere una velocità effettiva di scrittura superiore, mentre le repliche forniscono più query al secondo (QPS) e disponibilità elevata.
È possibile modificare in modo dinamico il numero di partizioni e repliche, ma non è possibile modificare il piano tariffario. È quindi consigliabile considerare attentamente il livello corretto per il carico di lavoro di destinazione. Se è comunque necessario modificare il livello, occorrerà effettuare il provisioning di un nuovo servizio affiancato e ricaricarvi gli indici. Quindi, si potranno indirizzare le applicazioni al nuovo servizio.
Disponibilità
Ricerca cognitiva di Azure offre un contratto di servizio (SLA) con disponibilità garantita al 99,9% per le letture (ossia l'esecuzione di query) se si hanno almeno due repliche e per gli aggiornamenti (ossia l'aggiornamento degli indici di ricerca) se si hanno almeno tre repliche. È quindi opportuno effettuare il provisioning di almeno due repliche se si vuole che i clienti possano cercare in modo affidabile e tre se anche le modifiche all'indice devono essere considerate operazioni a disponibilità elevata.
Se è necessario apportare all'indice modifiche che causano un'interruzione senza tempi di inattività, ad esempio modifica dei tipi di dati, eliminazione o ridenominazione di campi, sarà necessario ricompilare l'indice. Come per la modifica del livello di servizio, questo significa creare un nuovo indice, ripopolarlo con i dati e quindi aggiornare le applicazioni esistenti in modo che puntino al nuovo indice.
Sicurezza
AI Search è conforme a molti standard di sicurezza e privacy dei dati, quindi puoi utilizzarlo nella maggior parte dei settori.
Per proteggere l'accesso al servizio, è possibile usare il controllo degli accessi in base al ruolo di Azure o connettersi con le chiavi API.
È consigliabile usare il controllo degli accessi in base al ruolo di Azure perché usa i ruoli di Azure, che si integrano con Microsoft Entra ID. Quando si usano i ruoli di Azure, è anche possibile usare metodi di autenticazione senza password come Identità gestite per le risorse di Azure.
Le chiavi API includono chiavi di amministratore, che forniscono l'accesso completo per tutte le operazioni sul contenuto e chiavi di query, che forniscono l'accesso in sola lettura alla raccolta di documenti di un indice di ricerca. È consigliabile configurare applicazioni che non devono aggiornare l'indice per usare una chiave di query e non una chiave di amministrazione, soprattutto se un dispositivo dell'utente finale, ad esempio uno script in esecuzione in un Web browser, esegue la ricerca.
È anche possibile proteggere l'accesso ai servizio di ricerca di intelligenza artificiale a livello di rete esponendolo tramite un endpoint privato.
Rilevanza ricerca
L'efficacia dell'applicazione di e-commerce dipende in larga misura dalla pertinenza dei risultati della ricerca forniti ai clienti. Ottimizzare con cura il servizio di ricerca per ottenere risultati ottimali in base alle ricerche degli utenti o l'analisi del traffico di ricerca per comprendere i criteri di ricerca dei clienti, consente di prendere decisioni basate sui dati.
Ecco alcuni modi tipici per ottimizzare il servizio di ricerca:
- Uso di profili di punteggio per influenzare la pertinenza dei risultati della ricerca, ad esempio in base al campo che corrisponde alla query, a quanto sono recenti i dati, alla distanza geografica dall'utente e così via.
- Uso di analizzatori del linguaggio forniti da Microsoft, che si servono di uno stack di elaborazione del linguaggio naturale per interpretare meglio le query
- Uso di analizzatori personalizzati per assicurarsi che i prodotti vengano trovati correttamente, soprattutto se si vuole eseguire la ricerca su informazioni non basate sul linguaggio, come marca e modello di un prodotto.
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.
Per esaminare il costo di esecuzione dello scenario, nel calcolatore dei costi sono precedentemente preconfigurati tutti i servizi menzionati in precedenza. Per verificare la variazione dei prezzi per un determinato caso d'uso, modificare le variabili appropriate in base all'utilizzo previsto.
Considerare questi profili di costo di esempio in base alla quantità di traffico che si prevede di gestire:
- Small: in questo profilo viene usata un'unica app Web
Standard S1
per ospitare il sito Web, il livello gratuito del servizio di Azure AI Bot, un singolo servizio di ricerca diBasic
e un database SQLStandard S2
. - Medium: in questo caso le prestazioni dell'app Web sono aumentate a due istanze del livello
Standard S3
, il servizio di ricerca è aggiornato al livelloStandard S1
e viene usato un database SQLStandard S6
. - Large: nel profilo più grande vengono usate quattro istanze di un'app Web
Premium P2V2
, il servizio di Azure AI Bot è aggiornato al livelloStandard S1
(con 1.000.000 di messaggi nei canali Premium) e vengono usate due unità del servizio di ricerca diStandard S3
e un database SQLPremium P6
.
Distribuire lo scenario
Per distribuire questo scenario, è possibile seguire questa esercitazione dettagliata, che offre anche un'applicazione .NET di esempio in cui viene eseguito un sito Web di ricerca dei processi. Illustra inoltre la maggior parte delle funzionalità di AI Search descritte fino a qui.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Jelle Druyts | Principal Customer Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
Per maggiori informazioni su AI Search, visitare il centro documentazione o dare un'occhiata agli esempi.
Per maggiori informazioni sugli altri componenti di Azure, consultare queste risorse:
- Informazioni sul database SQL di Azure
- Panoramica del Servizio app
- Documentazione del servizio di Azure AI Bot
- Che cos’è Servizi di Azure AI?