Il crawling distribuito sarà  la nuova frontiera per i motori di ricerca

L’idea del calcolo distribuito, già sfruttata da molti progetti come SETI@home peraw la Ricerca di Intelligenze ExtraTerrestri e da altri progetti come la ricerca sul cancro e lo studio della struttura delle proteine umane è da qualche tempo approdata anche nel campo dei motori di ricerca.

La potenza di calcolo distribuita messa a disposizione da tante persone sparse negli angoli più remoti del pianeta è infatti molto utile in un settore dove il numero di pagine web è in continua crescita (si stima che i circa 10 miliardi di pagine attualmente indicizzati da google siano solo il 10% del totale esistente).

Segnaliamo i progetti di maggiore interesse in questo campo:
nutch.org (free software scritto in java che ora si è unito ai progetti dell’Apache Incubator)
Nutch

Majestic12 (progetto inglese che non è software libero ma che rende disponibili client per linux e windows)
Majestic12

Questi progetti si occupano della cosidetta fase di crawling (o spidering) cioè al reperimento delle pagine, ma un motore di ricerca è costituito da altre parti fondamentali. In particolare:

  • Crawler o spider cioè software che trovano e prelevano pagine web e costruiscono una lista di keyword e frasi a partire dalle pagine reperite
  • L’indice vero e proprio del motore (database) che contiene le parole e frasi prelevate dai crawler.
    Il sofware che si occupa di popolare l’indice viene chiamato solitamente indexer
  • Il cosiddetto “query processor” ossia la parte che si occupa di processare le richieste immesse dall’utente nel campo di ricerca e confrontarle con le informazioni presenti nell’indice del motore.
    E’ questa la parte in cui maggiormente differiscono i vari motori di ricerca: l’algoritmo di confronto fra richieste utente e pagine presenti all’interno dell’ indice

Se si tiene conto che stime del 2004 attribuivano al motore di ricerca Google un numero di computer compreso fra i 10000 e 80000 si può ben comprendere quale sia le risorse necessarie ad un motore di ricerca.

L’approccio distribuito è sicuramente molto interessante per la fase di spidering delle pagine ma come affrontare la necessitò di risorse (hardware e software) necessarie all’indexer e al query processor ?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *