Questo scenario di esempio mostra come l'uso di un servizio di ricerca dedicato può aumentare notevolmente la pertinenza dei risultati della ricerca per i clienti di e-commerce.
Architettura
Scaricare un file di Visio di questa architettura.
Flusso di lavoro
Questo scenario illustra una soluzione di e-commerce in cui i clienti possono eseguire ricerche tramite un catalogo prodotti.
- I clienti passano all'applicazione Web e-commerce da qualsiasi dispositivo.
- Il catalogo prodotti viene gestito in un database SQL di Azure per l'elaborazione transazionale.
- Ricerca di intelligenza artificiale di Azure usa un indicizzatore di ricerca per mantenere aggiornato automaticamente l'indice di ricerca tramite il rilevamento delle modifiche integrato.
- Le query di ricerca del cliente vengono scaricate nel servizio ricerca di intelligenza artificiale, che elabora la query e restituisce i risultati più rilevanti.
- In alternativa a un'esperienza di ricerca basata sul Web, i clienti possono anche usare un bot di conversazione nei social media o direttamente da assistenti digitali per cercare prodotti e perfezionare in modo incrementale la query di ricerca e i risultati.
- Facoltativamente, i clienti possono usare la funzionalità
set di competenze per applicare l'intelligenza artificiale per un'elaborazione ancora più intelligente.
Componenti
- servizio app di Azure - App Web ospita applicazioni Web che consentono la scalabilità automatica e la disponibilità elevata senza dover gestire l'infrastruttura.
- database SQL di Azure è un servizio gestito dal database relazionale per utilizzo generico in Microsoft Azure che supporta strutture come dati relazionali, JSON, spaziali e XML.
- ricerca di intelligenza artificiale è una soluzione cloud che offre un'esperienza di ricerca avanzata su contenuti privati, eterogenei nelle applicazioni Web, per dispositivi mobili e aziendali.
- servizio Azure AI Bot fornisce strumenti per compilare, testare, distribuire e gestire bot intelligenti.
- i servizi di intelligenza artificiale di Azure consentono di usare algoritmi intelligenti per visualizzare, ascoltare, parlare, comprendere e interpretare le esigenze dell'utente tramite metodi naturali di comunicazione.
Alternative
- È possibile usare funzionalità di ricerca nel database, ad esempio tramite la ricerca full-text di SQL Server, ma 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 l'open source Apache Lucene (in cui la ricerca di intelligenza artificiale è compilata) in Macchine virtuali di Azure, ma si torna a gestire l'infrastruttura distribuita come servizio (IaaS) e non trarre vantaggio dalle numerose funzionalità offerte da Ricerca di intelligenza artificiale in cima a Lucene.
- È anche possibile valutare la possibilità di distribuire elasticsearch da Azure Marketplace, che è un prodotto di ricerca alternativo e in grado di eseguire un prodotto di ricerca da un fornitore di terze parti, ma anche in questo caso si esegue un carico di lavoro IaaS.
Altre opzioni per il livello dati includono:
- di Azure Cosmos DB: database multimodello distribuito a livello globale di Microsoft. Azure Cosmos DB offre una piattaforma per eseguire altri modelli di dati, ad esempio MongoDB, Cassandra, dati Graph o una semplice archiviazione tabelle. Ricerca di intelligenza artificiale supporta anche l'indicizzazione diretta dei dati da Azure Cosmos DB.
Dettagli dello scenario
La ricerca è il meccanismo principale attraverso il quale i clienti trovano e acquistano prodotti, rendendo essenziale che i risultati della ricerca siano rilevanti per la finalità della query di ricerca e che l'esperienza di ricerca end-to-end corrisponda a quella dei giganti della ricerca fornendo risultati quasi istantanei, analisi linguistica, corrispondenza della posizione geografica, filtro, facet, completamento automatico e evidenziazione dei risultati.
Si supponga di un'applicazione Web di e-commerce tipica con dati di prodotto archiviati in un database relazionale, ad esempio SQL Server o database SQL. Le query di ricerca vengono spesso gestite all'interno del database usando LIKE
query o funzionalità di ricerca full-text. Usando invece ricerca di intelligenza artificiale, è possibile liberare il database operativo dall'elaborazione delle query ed è possibile iniziare facilmente a sfruttare le funzionalità difficili da implementare che offrono ai clienti la migliore esperienza di ricerca possibile. Inoltre, poiché la ricerca di intelligenza artificiale è un componente PaaS (Platform as a Service), non è necessario preoccuparsi di gestire l'infrastruttura o diventare un esperto di ricerca.
Casi d'uso potenziali
Questa soluzione è ottimizzata per il settore delle vendite al dettaglio.
Altri casi d'uso pertinenti includono:
- Ricerca di presentazioni immobiliari o negozi nelle vicinanze della posizione fisica dell'utente (per le strutture e il settore immobiliare).
- Ricerca di articoli in un sito di notizie o ricerca di risultati sportivi, con una preferenza più alta per più informazioni recenti (per i settori sportivi, multimediali e di intrattenimento).
- Eseguire ricerche in repository di grandi dimensioni per organizzazioni incentrate sui documenti, ad esempio responsabili politici e notai.
In definitiva, qualsiasi applicazione con una qualche forma di funzionalità di ricerca può trarre vantaggio da un servizio di ricerca dedicato.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, ovvero un set di 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 di ricerca di intelligenza artificiale viene usato principalmente per pianificazione della capacità perché definisce lo spazio di archiviazione massimo che si ottiene e il numero di partizioni e repliche di cui è possibile effettuare il provisioning. Partizioni consentono di indicizzare più documenti e ottenere velocità effettiva di scrittura più elevate, mentre repliche offrono più query al secondo (QPS) e disponibilità elevata.
È possibile modificare dinamicamente 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, è necessario effettuare il provisioning di un nuovo servizio side-by-side e ricaricare gli indici, a questo punto è possibile puntare le applicazioni al nuovo servizio.
Disponibilità
Ricerca di intelligenza artificiale offre un
Se è necessario apportare modifiche di rilievo all'indice senza tempi di inattività (ad esempio, modifica dei tipi di dati, eliminazione o ridenominazione dei campi), l'indice dovrà essere ricompilato. Analogamente alla modifica del livello di servizio, ciò significa creare un nuovo indice, ripopolarlo con i dati e quindi aggiornare le applicazioni in modo che puntino al nuovo indice.
Sicurezza
Ricerca di intelligenza artificiale è conforme a molti standard di sicurezza e privacy dei dati , in modo da poterlo usare nella maggior parte dei settori.
Per proteggere l'accesso al servizio, è possibile usare controllo degli accessi in base al ruolo di Azure o connettersi con 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 amministrazione, 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 al servizio di ricerca di intelligenza artificiale a livello di rete esponerlo tramite un endpoint privato.
Pertinenza della ricerca
Il successo dell'applicazione di e-commerce dipende in gran parte dalla rilevanza dei risultati della ricerca ai clienti. Ottimizzare attentamente il servizio di ricerca per offrire risultati ottimali in base alla ricerca degli utenti o basarsi su 'analisi del traffico di ricerca per comprendere i modelli di ricerca del cliente consente di prendere decisioni basate sui dati.
I modi tipici per ottimizzare il servizio di ricerca includono:
- L'uso di profili di punteggio per influenzare la pertinenza dei risultati della ricerca, ad esempio in base al campo corrispondente alla query, alla frequenza dei dati e alla distanza geografica dell'utente.
- Usando analizzatori del linguaggio forniti da Microsoft che usano uno stack di elaborazione del linguaggio naturale avanzato per interpretare meglio le query.
- L'uso di analizzatori personalizzati per assicurarsi che i prodotti vengano trovati correttamente, soprattutto se si desidera cercare informazioni non basate sulla lingua come il modello e la creazione di un prodotto.
Ottimizzazione dei costi
L'ottimizzazione dei costi consiste nell'esaminare i modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.
Per esplorare il costo di esecuzione di questo scenario, tutti i servizi indicati in precedenza sono preconfigurati nel calcolatore dei costi. Per vedere come cambiano i prezzi per un caso d'uso specifico, modificare le variabili appropriate in modo che corrispondano all'utilizzo previsto.
Considerare questi profili di costo di esempio in base alla quantità di traffico che si prevede di gestire:
-
Small: questo profilo usa una singola app Web
Standard S1
per ospitare il sito Web, il livello gratuito del servizio Azure AI Bot, un singolo servizio di ricercaBasic
e un database SQLStandard S2
. -
medio: questo profilo aumenta le prestazioni dell'app Web a due istanze del livello
Standard S3
, aggiorna il servizio di ricerca a un livelloStandard S1
e usa un database SQLStandard S6
. -
di grandi dimensioni: questo profilo usa quattro istanze di un'app Web
Premium P2V2
, aggiorna il servizio Azure AI Bot al livelloStandard S1
(con 1.000.000 messaggi nei canali Premium) e usa due unità del servizio di ricercaStandard S3
e un database SQLPremium P6
.
Distribuire questo scenario
Per distribuire una versione di questo scenario, è possibile seguire questa 'esercitazione dettagliata che fornisce un'applicazione di esempio .NET che esegue un sito Web di ricerca processi. Illustra la maggior parte delle funzionalità di ricerca di intelligenza artificiale descritte finora.
Contributori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai collaboratori seguenti.
Autore principale:
- Jelle Druyts | Principal Customer Engineer
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
Per altre informazioni su Ricerca di intelligenza artificiale, visitare il centro documentazione o vedere gli esempi di .
Per altre informazioni sugli altri componenti di Azure, vedere queste risorse:
- Che cos'è il database SQL di Azure?
- panoramica del servizio app
- documentazione del servizio Azure AI Bot
- Che cos'è i servizi di intelligenza artificiale di Azure?