Motori di ricerca
Un motore di ricerca è un sistema automatico che analizza un insieme di dati spesso da lui stesso raccolti e restituisce un indice dei contenuti disponibili classificandoli in base a formule matematiche che ne indichino il grado di rilevanza data una determinata chiave di ricerca.
Uno dei campi in cui i motori di ricerca trovano maggiore utilizzo è quello dell’Information Retrieval e nel web.
Esistono numerosi motori di ricerca attivi sul Web. Il più utilizzato su scala mondiale (con un indice che supera gli 8 miliardi di pagine), è Google; molto usati anche Bing (motore di ricerca della Microsoft), Yahoo!, Ask. Da segnalare il tentativo di creare il primo motore di ricerca europeo, Quaero, con una iniziativa franco-germanica. Il progetto, stimato attorno ai 400 milioni di dollari, è stato abbandonato dopo pochi mesi per la rinuncia da parte della compagnia tedesca.
Fra i motori di ricerca nati in Italia quelli maggiormente utilizzati nel nostro paese sono Libero e Virgilio. Tuttavia non si tratta di veri e propri motori di ricerca, giacché si limitano a riutilizzare i dati di Google. Libero e altri ne evidenziano chiaramente il logo, mentre Virgilio ne usa i risultati senza evidenziarne la fonte, limitandosi solo ad aggiungere alcuni propri risultati sponsorizzati.
La maggior parte dei motori di ricerca che opera sul web è gestito da compagnie private che utilizzano algoritmi proprietari e database tenuti segreti. Esistono comunque diversi tentativi di dar vita a motori di ricerca fondati sul software libero, alcuni esempi sono: HTdig, Nutch, Egothor e OpenFTS.
* * *
Il lavoro dei motori di ricerca si divide principalmente in tre fasi:
1) analisi del campo d’azione (tramite l’uso di crawler appositi);
2) catalogazione del materiale ottenuto;
3) risposta alle richieste dell’utente;
1) Per analizzare il web i motori di ricerca utilizzano dei programmi detti crawler (o spider o robot), che si occupano di visitare automaticamente gli URI contenuti nel database e seguire i successivi URI che trovano all’interno dei documenti analizzati, inserendo di volta in volta nel database tutte le informazioni “sensibili” della pagina (il contenuto testuale, varie informazioni su di essa come la data di ultimo aggiornamento, e altro).
2) Dopo l’analisi delle pagine, a seconda di criteri che variano da motore a motore, alcune di esse vengono inserite nel database e nell’indice del motore di ricerca. La parte testuale archiviata durante la fase di analisi verrà in seguito analizzata per fornire le risposte alle ricerche degli utenti. Molti motori di ricerca sul web rendono anche disponibile una copia dei dati testuali di ogni pagina archiviata per quando la risorsa originale sia irraggiungibile: questa funzione è detta Copia cache.
3) Rispondere alle richieste degli utenti implica la necessità di elencare i siti in ordine di rilevanza rispetto alla richiesta ricevuta. Per stabilire la rilevanza di un sito vengono cercati nel database quei documenti che contengono la parola chiave inserita dall’utente, dopodiché ogni motore di ricerca sfrutta propri algoritmi per classificare le pagine, controllando, per esempio, quante volte le parole chiave vengono ripetute, quanti link riceve quel documento, in quali punti della pagina sono poste le parole chiave, quanti siti del database contengono link verso quella pagina, o quante volte un utente ha visitato quel sito dopo una ricerca.