Aggiungi a: Digg Aggiungi a: Del.icoi.us Aggiungi a: Furl Aggiungi a: Yahoo Aggiungi a: Technorati Aggiungi a: Google Information  RSS ePOINT Ferrara
Come funziona un motore di ricerca PDF Stampa E-mail

Come funziona un motore di ricerca

I problemi da risovere nella realizzazione di un motore di ricerca sono molto complessi. È facile intuire quante risorse hardware e software siano necessarie per far funzionare correttamente uno strumento che deve indicizzare, archiviare e mantenere aggiornate decine (a volte centinaia) di milioni di pagine Web, documenti che devono poter essere messi a disposizione del richiedente in poche frazioni di secondo. A queste difficoltà se ne aggiungono altre: l'affidabilità il sistema deve infatti essere in grado di soddisfare milioni (a volte decine di milioni) di interrogazioni al giorno; la struttura deve anche essere scalabile, il Web sta infatti crescendo ai ritmi che tutti conosciamo, è quindi importante che sia possibile aggiungere risorse che permettano di aumentare il numero di pagine indicizzate senza che si renda necessario il cambiamento dell'intero sistema.
Il progresso tecnologico viene parzialmente in aiuto mettendo a disposizione strumenti sempre più potenti a prezzi sempre più ragionevoli (la famosa legge di Moore), anche se per alcuni fattori chiave (velocità di ricerca su disco e affidabilità del sistema operativo) occorre registrare delle eccezioni.
Il problema più complesso da risolvere resta comunque legato alla rilevanza dei risultati. La bontà di un motore è, infatti, determinata principalmente da questo aspetto; la risorsa a cui affidiamo il compito di trovare sul Web le informazioni che ci servono è quella che ci permette di ottenere rapidamente i documenti più interessanti e che non ci obbliga ad eseguire un lungo processo di selezione tra un alto numero di pagine con scarsi contenuti. In una prossima pagina di aggiornamento faremo una panoramica delle varie tecniche che i motori utilizzano per garantire ai propri utenti una pagina dei risultati rilevante e soprattutto attinenete con quanto cercato.Vediamo ora un esempio di come funziona un motore di ricerca. Nella semplificazione che utilizziamo per dare un'idea di come funzionino queste complicate risorse, abbiamo diviso il funzionamento del motore in tre macrofasi:

* Il reperimento delle pagine
* La fase di indicizzazione
* Creazione delle liste in risposta alle interrogazioni

Fase 1: Reperimento delle pagine

L'URL Server
Il primo componente che analizziamo è l'URL Server (indicato con un numero 2 in figura), si tratta di una machina che al compito di fornire agli spiders le coordinate di navigazione (ossia l'elenco di indirizzi del tipo "http://www.abc.com/paginax.htm") necessarie a reperire tutte le pagine da indicizzare. Gli indirizzi vengono inseriti nell'elenco dai Webmaster che vogliono rendere visibili le pagine dei propri siti e quindi segnalano le stesse ai motori utilizzando la normale procedura prevista (ecco ad esempio la pagina per sottoporre all'attenzione di Altavista le pagine del proprio sito). Esiste inoltre una procedura di controllo automatico, ad intervalli di tempo più o meno regolari (le scadenze dipendono da alcuni fattori quali, ad esempio, la popolarità del sito e la frequenza con cui le pagine vengono aggiornate) le pagine vengono indicizzate nuovamente per verificare che siano ancora disponibili. Il motore di ricerca può inoltre reperire altre pagine seguendo semplicemente i collegamenti che sono contenuti nei documenti che sta analizzando, questa è comunque una funzione che viene gestita autonomamente dagli Spider e che pertanto non coinvolge l'URL Server.

Gli spider
I "ragni" hanno la funzione di navigare lungo la ragnatela del Web (fase 2 in figura) di catturare le pagine che sono state loro segnalate (fase 3) dall'URL server e di depositarle in un apposito computer che ha la funzione di magazzino (fase 4). 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 perche il server è troppo impegnato a fornire le pagine alle pressanti richieste dei ragni).

Il Magazzino
È un computer 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.

Fase 2: L'indicizzazione

L'indicizzatore
Questa seconda fase inizia da dove hanno terminato gli spider. Nella fase di indicizzazione la pagina viene prelevata dal magazzino dopodichè 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).

Smistamento
Ognuno di questi piccoli registri viene poi salvato nelle memorie di un computer appropriato (per semplificare ipotizziamo di avere 26 computer, uno per ogni lettera dell'alfabeto, ognuno dei quali riceve dall'indicizzatore solo i registri relativi alle parole che iniziano con la lettera amministrata).

Fase 3: Interrogazione e creazione delle liste dei risultati

Vediamo ora che cosa succede quando si interroga il motore inserendo nell'apposita maschera i termini scelti per la ricerca. Innanzitutto 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... 

Succ. >
Contatta ePOINT web agency Ferrara e Bologna
Portfolio


     Qui un estratto del

        nostro portfolio 

Partner Program


Agenzia di comunicazione
      o pubblicitaria?

Diventa partner ePOINT.