Motori di Ricerca "La Rete Internet equivale all unificazione di tutte le biblioteche del mondo, dove però qualcuno si è divertito a togliere tutti i libri dagli scaffali". Vale a dire: ci sono troppe informazioni, il problema è trovarle! Ogni giorno si aggiungono nuovi siti e sembra che sul web ci siano oltre duecento, e forse anche trecento, milioni di documenti. Il problema che ogni utente nuovo o esperto si pone è, considerando che l'argomento che ci interessa è quasi sicuramente trattato su più di un sito, come trovare sulla rete in maniera efficace ed efficiente le informazioni di cui abbiamo bisogno? Le risorse in grado di aiutarci in questa impresa sono i cosiddetti motori di ricerca,grandi archivi di dati che contengono informazioni dettagliate su un gran numero di pagine web. Strumenti pensati appositamente per assistere chi cerca un'informazione sul Web. Come vedremo ci sono diverse centinaia di motori di ricerca, ognuno dei quali ha caratteristiche proprie che lo differenziano in base ai documenti indicizzati ed alle opzioni di ricerca offerte. La prima distinzione da fare all'interno della grande famiglia degli strumenti di ricerca è quella di distinguere tra, i motori di ricerca le guide gerarchiche ed i metamotori. MOTORI DI RICERCA I motori di ricerca (crowlers) consentono di inserire in un apposita maschera parole o frasi per definire l'argomento che il documento cercato dovrà trattare. La ricerca viene effettuata nel database del motore, il quale viene creato automaticamente da robot o spider che rispondono a dei particolari algoritmi. Un algoritmo è un metodo di calcolo che attribuisce alle pagine un valore che ne determina la posizione nei risultati delle ricerche. Bisogna comunque tener presente che nessun motore di ricerca (o quasi) utilizza gli stessi algoritmi. Gli algoritmi vengono cambiati molto spesso e non vengono mai resi pubblici. Fondamentalmente possiamo distinguere in tre momenti i funzionamento di un motore di ricerca.
Reperimento delle pagine Il motore di ricerca si può dividere in tre componenti: L'url server (una macchina che ha il compito di fornire agli spiders le coordinate di navigazione necessarie a reperire tutte le pagine da indicizzare). I "ragni"(software che hanno la funzione di navigare lungo la ragnatela del Web di catturare le pagine che sono state loro segnalate dall'url server e di depositarle in un apposito computer che ha la funzione di magazzino). Gli spiders nello svolgere la funzione estremamente delicata alla quale sono preposti devono essere affidabili, veloci e discreti. Essi devono sostanzialmente compiere il loro lavoro senza impegnare troppe risorse dei Web Server che ospitano le pagine che stanno analizzando (su alcuni di questi computer sono presenti decine di siti Web, se questi ultimi venissero analizzati contemporaneamente dagli spider di un motore si potrebbe verificare il caso in cui un utente non riesca a visitare uno di questi siti proprio perché il server è troppo impegnato a fornire le pagine alle pressanti richieste dei ragni). Il magazzino (un computer in cui in cui gli spider copiano l'intero codice html delle pagine che hanno catturato sul Web). Ad ogni documento viene associato un numero di identità (che chiameremo page IN) che permette di ritrovarli in maniera rapida. In pratica, quando i siti vengono "registrati" dai motori di ricerca non fanno altro che far "leggere" tutte le pagine del sito da un programma "ragno". L'indicizzazione Questa seconda fase inizia da dove hanno terminato gli spider. Nella fase di indicizzazione la pagina viene prelevata dal magazzino dopo di che viene analizzata e scomposta nelle varie parole che la compongono. Per ogni parola viene creato un piccolo registro che riporta varie informazioni: l'occorenza (numero di ripetizioni nella pagina), la dimensione del carattere, il marcatore in cui è inclusa oltre che, naturalmente, il codice identificativo della pagina (page IN). Ognuno di questi piccoli registri viene poi salvato nelle memorie di un computer appropriato. Interrogazione e ranking Il motore analizza la sintassi della richiesta, individuate le parole che compongono la stessa effettua un'interrogazione presso i computer che contengono i registri appropriati. A questo punto viene attribuito un valore alle varie pagine individuate (ranking), il punteggio dipende da come l'algoritmo del motore valuta le varie occorrenze della parola, (i criteri base utilizzati verranno analizzati in un approfondimento di prossima pubblicazione). Le pagine con il punteggio più alto vengono dunque inserite nella lista dei risultati, per ogni pagina, oltre al collegamento diretto con la stessa, vengono
fornite una serie di informazioni aggiuntive come: il titolo della pagina, una breve descrizione, le dimensioni, la misura dell'attinenza, la dimensione in Kb ecc... ecc... Il motore da origine ad una lista di documenti, presentando in primo luogo quelli più rilevanti che meglio dovrebbero incontrare le vostre esigenze, a volte viene fornito anche un valore (espresso con un numero od una percentuale) per indicare l'attinenza del documento con quanto cercato. Il metodo che utilizzano è quello di memorizzare le parole chiave del testo della pagina. I motori indicizzano tutte le pagine che gli vengono sottoposte, alcuni sono addirittura predisposti a seguire i link per trovare autonomamente le informazioni, un sito può dunque essere presente con più pagine Web su uno stesso motore. I diversi motori disponibili forniscono risultati differenti anche se nell'interrogazione si usano le stesse parole. I fattori che determinano queste differenze sono: la grandezza del database, la frequenza con cui quest'ultimo viene aggiornato, la diversità delle opzioni di ricerca fornite e la tecnologia di ricerca utilizzata dal motore. GUIDE GERARCHICHE Le guide gerarchiche o directory sono indici, strutturati appunto gerarchicamente. Essi consentono di sfogliare liste di siti Web raggruppati per argomento. Si basano su database selezionati (directory per argomenti), costruiti manualmente da personale specializzato (gli human editors) che si preoccupa di visionare il sito e di inserirlo nella sezione più appropriata. Spesso forniscono anche una maschera di ricerca, identica a quella dei motori, che permette di reperire in maniera più diretta quanto cercato, senza essere costretti a navigare nelle categorie e sottocategorie in cui sono organizzati i siti registrati. Le guide gerarchiche, a causa del processo di revisione siti, che viene condotto manualmente quindi in maniera più lenta rispetto ad una procedura automatica, hanno database più piccoli rispetto a quelli dei motori di ricerca propriamente detti. Grazie a questa supervisione umana essi sono comunque grado di condurre rapidamente il visitatore nell'area di interesse, riuscendo in molti casi a evitare di fornire siti non attinenti rispetto alla ricerca effettuata. Sulle Guide si trovano non singole pagine ma un intero sito dedicato all'argomento. Per questo motivo, le directory accettano una singola registrazione del sito, generalmente la homepage, inserendola nella sezione più appropriata tenendo conto della tematica principale sviluppata nel sito. Questo è un ulteriore motivo per cui i database delle guide hanno spesso dimensioni minori rispetto ai motori di ricerca.
METAMOTORI L'ultima tipologia di risorse di rete dedicata al ritrovamento delle informazioni è quella dei metamotori o metacrowlers, si tratta di sistemi pensati per risolvere il problema delle differenze fra i vari motori. In Internet esistono oltre 2000 siti che offrono servizi di ricerca, ognuno dei quali si caratterizza, come vedremo meglio in seguito, in base ad alcuni parametri (velocità di aggiornamento archivi, numero di pagine indicizzate, metodo di indicizzazione utilizzato, l'essere dedicati o meno ad un tema specifico) che ne determinano la qualità dei risultati. Per evitare che queste differenze ci impediscano di trovare i documenti più rilevanti bisognerebbe usare più di un motore oppure ci si può affidare ai "metamotori" in grado di eseguire questo lavoro per noi. I metamotori non fanno altro che rendere in qualche modo più semplice la consultazione di molti motori, eseguendo l'interrogazione da una stessa pagina, e combinando in vario modo i risultati generati dagli stessi. I tempi di spidering ed indexing da parte dei motori non hanno tempi definiti e variano sensibilmente da motore a motore. Il contenuto più importante di un sito (info prodotti, news, ecc... ) è racchiuso in database il quale non è accessibile nemmeno dal più raffinato motore di ricerca. Infatti le pagine dinamiche accedono ai contenuti su database mediante un acceso regolato solitamente da login e password, che è bene non sia pubblico, ma utilizzato dalla pagina dinamicia all'interno del codice che non viene mostrato al pubblico; altrimenti con un programmino che fa uno scan del sito (come i robot dei motori di ricerca) si potrebbe accedere e inserire/cancellare informazioni a piacimento. Esiste poi il robots.txt file (un file di testo memorizzato nella directory di primo livello di un sito Web per impedire che i robot-qualunque programma in grado di seguire i collegamenti ipertestuali e di accedere alle pagine web senza controllo umano-accedano a certe pagine o sub-directories del sito). Solo i robot conformi alle regole del Robots Exclusion Standard leggeranno e seguiranno i comandi contenuti nel file. I robot leggeranno il file ad ogni visita, in questo modo le pagine, o intere aree di un sito, possono essere rese pubbliche o private in ogni momento semplicemente cambiando il contenuto del file robot.txt prima di sottometterle nuovamente all'attenzione dei motori di ricerca. Il semplice esempio cerca di evitare che i robot visitino la directory /secret: useragent:* disallow:/secret che ci consente di interdire ad uno o più spiders l'accesso a pagine specifiche o di intere directories del nostro sito. I robot file si possono usare solo per siti che risiedono sotto il proprio dominio, per gli spazzi gratis condivisi, si dovrebbe poter registrare il robot file nella radice principale del dominio.
Mentre i meta robot tags si rivolgono indistintamente a tutti gli spiders e riguardano solo la pagina in cui vengono inseriti, il robots.txt file ci consente di impartire istruzioni a tutti o solo ad alcuni spiders. Indirizzare - se così si può dire - uno spider verso una cartella specifica attraverso il robots.txt file è teoricamente possibile, ma solo in modo indiretto, ossia... vietandogli l'accesso a tutte le altre! Ricordiamoci che il robots.txt file va collocato nella directory principale del sito (es: www.iltuodominio.it/robots.txt ), altrimenti... non funziona.