La ricerca di documenti è una funzione che lavora principalmente su testo libero non strutturato (non solo su documenti). Sia che si cerchi una pagina Web, un prodotto o che si lavori con contenuti curati, si utilizza un motore di ricerca per farlo. Arrivi su una pagina Web e digiti nella casella di testo Cerca. Facendo clic su "Cerca" si ricevono (si spera) articoli pertinenti che soddisfano il proprio obiettivo informativo.

I motori di ricerca si sono sviluppati a partire dalla tecnologia dei database: memorizzano i dati ed elaborano le interrogazioni su di essi. I database tradizionali lavorano principalmente con contenuti strutturati: i dati sono organizzati in tabelle e colonne, con uno schema incorporato. Il compito del database è quello di recuperare tutte le righe di dati, in base alle query che corrispondono ai valori delle colonne. I motori di ricerca lavorano con dati strutturati (documenti), che contengono sia metadati sia grandi blocchi di testo non strutturato (testo libero). I motori di ricerca utilizzano regole linguistiche per suddividere questi grandi blocchi di testo in termini compatibili. Inoltre, i motori di ricerca sono dotati di una capacità di classificazione integrata per ordinare i risultati e portare i migliori in cima. Mentre i database relazionali e NoSQL recuperano tutti i risultati, i motori di ricerca recuperano i risultati migliori.

Le applicazioni dei motori di ricerca si dividono in tre grandi categorie: la ricerca di documenti, che lavora principalmente su testo libero non strutturato; la ricerca di e-commerce, che lavora su un mix di dati strutturati e non strutturati; la ripartizione del carico di lavoro delle query, che lavora principalmente su dati strutturati.

La ricerca di documenti funziona con i metadati?

Nella ricerca di documenti, la ricerca viene eseguita nel documento principale che può essere piccolo come un paragrafo e grande come migliaia di pagine. I documenti includono una varietà di altri campi, inclusi entrambi i campi di testo non strutturati (titolo e riepilogo), campi semi-strutturati (autore) e campi (data di pubblicazione, gruppo di origine, categoria), ovvero i metadati. Il motore di ricerca gestisce un mix di testo e metadati nelle query degli utenti.

Il principali problemi della ricerca di documenti rientrano in due aree: preparazione e importazione dei dati e pertinenza della ricerca.

Nei casi d'uso della ricerca di documenti, il corpo dei documenti (corpus) ha origine da contenuti generati dagli utenti o altri contenuti non curati. Questo contenuto di solito contiene errori di battitura o altri errori, ripetizioni e dati senza senso. Prima di caricare questi dati in un motore di ricerca, è necessario curare, ripulire e normalizzare i dati. Dopo aver preparato i dati, è necessario caricarli nel motore (chiamando le API di importazione). Infine, è necessario un processo per aggiornare i documenti man mano che cambiano.

Il valore fondamentale della ricerca di documenti è recuperare documenti rilevanti per la query dell'utente, ovvero la pertinenza della ricerca. Durante il recupero, il motore di ricerca valuta e ordina tutti i documenti corrispondenti tramite una misura statistica (BM25). BM25 utilizza l'unicità del termine di ricerca incrociato con il suo conteggio nei documenti corrispondenti. Più volte la query corrisponde a termini univoci, maggiore sarà il punteggio. Devi regolare la funzione di punteggio per il tuo particolare set di dati; le tecniche di machine learning (ML) ti aiutano a migliorare il tuo posizionamento. La ricerca è una buona ricerca solo se vengono recuperati documenti pertinenti.

Quali sono gli altri casi d'uso della ricerca?

Ricerca nell'e-commerce 

Utilizza un motore di e-commerce per trovare e acquistare prodotti da un catalogo di prodotti disponibili. Questi prodotti comprendono numerosi campi di metadati, come taglia, colore, marca e altro, e campi più lunghi per titolo, descrizione del prodotto e recensioni. Il compito principale del motore è recuperare i risultati più rilevanti che possano generare entrate. I progettisti di siti utilizzano molti strumenti per creare una buona funzione di pertinenza, dai valori numerici incorporati ai modelli di ML basati sul comportamento degli utenti.

Per migliorare l'esperienza dell'utente finale, i siti di e-commerce aggiungono spesso la ricerca con facet. Il motore fornisce un conteggio con intervalli per i valori in vari campi (taglia, colore e così via) e nell'interfaccia utente viene fornito all'utente un elenco selezionabile da utilizzare per restringere i risultati.

Alcuni tipi di ricerca nell'e-commerce dipendono fortemente dalla personalizzazione e dai suggerimenti. Se un acquirente cerca "abiti", il motore di ricerca dovrebbe trovare abiti che potrebbero interessare al cliente, anche se la query stessa è molto aperta. Parametri di somiglianza come k-nearest neighbor (k-NN) aiutano in questo.

Ricerca di set di dati curati

Ricerca di un set di dati curato come un repository di documenti aziendali (dati di studi clinici, documenti legali, proprietà immobiliari e così via). I motori di ricerca contengono regole linguistiche e altre funzionalità specifiche della lingua che aiutano a scomporre grandi blocchi di testo in termini componenti (parole da un campo o da un grosso blocco di testo) perché corrispondano a una richiesta. Il suo ricco linguaggio di query consente di cercare in questi grandi blocchi di testo le combinazioni di termini, come "vestito lungo senza maniche". Ma il motore non richiama tutto ciò che corrisponde: utilizza il punteggio di pertinenza per classificare e ordinare i documenti e restituire solo le migliori corrispondenze.

Offload di query

I motori di ricerca contengono strutture di dati specializzate per facilitare la ricerca ad alto volume e a bassa latenza. La più importante di queste strutture è l'indice invertito, che associa i singoli termini a un elenco di documenti che li contengono. A causa di queste strutture di dati, i motori di ricerca superano i database relazionali per l'elaborazione delle query. Il compromesso è che i motori di ricerca non saranno relazionali. È comune vedere un database relazionale e un motore di ricerca in tandem. Il database relazionale viene utilizzato per fornire i dati dell'applicazione, mentre un motore di ricerca per fornire ricerche pertinenti a bassa latenza su tali dati.

Costruire un'esperienza di ricerca ricca e piacevole richiede molte funzioni di processo. Gli sviluppatori integrano una soluzione di ricerca, creano un'interfaccia di ricerca e capiscono come strutturare i dati per ottenere i migliori risultati. I product manager forniscono i requisiti per la struttura dei metadati e le esperienze utente dell'interfaccia di ricerca. I data scientist curano i dati di origine, oltre a monitorare e lavorare con il comportamento degli utenti. I dirigenti impostano i KPI aziendali che guidano i team di sviluppo e prodotto nel raggiungimento degli obiettivi aziendali per il motore.

I motori di ricerca sono stati ottimizzati per associare i termini. La ricerca di "divano da 2,5 metri" dovrebbe restituire risultati che sono divani da 2,5 metri e lo fa associando i termini "2,5", "metri" e "divano". Questa è una ricerca con parole chiave. In molti casi, chi effettua la ricerca non conosce i termini esatti che sta cercando e desidera effettuare la ricerca per significato. Questa è la ricerca semantica ed è alla base delle tecnologie di ricerca e ML. Con la ricerca semantica usi query come "posto comodo dove sedersi accanto al fuoco" per recuperare oggetti come un divano di 2,5 metri.

La ricerca semantica richiede tecniche ML. È necessario creare uno spazio vettoriale di elementi e query e quindi utilizzare i calcoli di similitudine vettoriale per trovare elementi vicini in quello spazio. Con la ricerca vettoriale, un documento non ha bisogno di parole o sinonimi in comune con una query per essere rilevante. Ad esempio, una ricerca su "manutenzione della bicicletta" potrebbe corrispondere a un documento sulla "lubrificazione del deragliatore", perché l'algoritmo ML sa che la "lubrificazione del deragliatore" appare spesso vicino alle discussioni sulla manutenzione della bicicletta.

Come puoi migliorare i risultati della tua ricerca?

La chiave per una ricerca efficace nei documenti e nell'e-commerce è la pertinenza: i risultati della ricerca soddisfano le esigenze di chi la effettua? I motori di ricerca provano a mettere in primo piano i migliori risultati utilizzando una varietà di tecniche. Ciò è detto classificazione di pertinenza. I database restituiscono tutto ciò che corrisponde e i motori di ricerca vengono ottimizzati grazie al punteggio degli elementi rilevanti.

  • La tua ricerca può estendersi su più campi con ponderazione differenziale. Ad esempio, se effettui la ricerca in un database di film, potresti voler includere campi come titolo, regista e attore e assegnare alle corrispondenze del titolo un peso maggiore delle corrispondenze di attore.
  • Prendi in considerazione la possibilità di modificare i risultati della ricerca per avere dati più aggiornati. Aggiungi un campo per la data di uscita all'indice e una funzione di decadimento esponenziale basata su quella data nella funzione del punteggio.
  • Prendi in considerazione l'aggiunta di facet o filtri dei risultati di ricerca per consentire ai tuoi utenti di visualizzare elementi specifici. Molti sistemi di ricerca di documenti supportano i facet sui metadati, generalmente presentati come categorie lungo il lato sinistro della pagina dei risultati della ricerca.
  • Considera la possibilità di aggiungere sinonimi. I sinonimi possono aiutare i tuoi utenti finali a trovare i risultati che stanno cercando. Nell'abbigliamento, una tee è una T-shirt o teeshirt. I tuoi utenti finali dovrebbero ottenere gli stessi risultati se cercano "tee" o "t-shirt". L'aggiunta di sinonimi può restituire questi risultati.

La ricerca di documenti è utilizzata da molte applicazioni diverse.

  • I siti di e-commerce utilizzano la ricerca di documenti per recuperare i prodotti che i loro utenti desiderano acquistare.
  • I siti di foto utilizzano la ricerca di documenti per trovare foto basate su metadati come titolo e descrizione o anche sulla base di vettori di immagini corrispondenti.
  • Gli utenti del settore legale utilizzano la ricerca di documenti per trovare la giurisprudenza pertinente.
  • I medici utilizzano la ricerca di documenti per trovare farmaci per le patologie dei loro pazienti.
  • Le soluzioni di gestione dei rapporti con i clienti utilizzano la ricerca nei documenti per recuperare note, interazioni e clienti da raggiungere.

Quando hai bisogno di trovare qualcosa, usa un motore di ricerca!

Prossimi passi della Ricerca di documenti AWS

Scopri ulteriori risorse correlate al prodotto
Visualizza le offerte gratuite per i servizi di database nel cloud 
Registrati per creare un account gratuito

Ottieni accesso istantaneo al piano gratuito di AWS. 

Registrati 
Inizia a lavorare con la console

Inizia subito a sviluppare nella Console di gestione AWS.

Accedi