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 ed al query processor ?

Articoli correlati:

  1. La reale percentuale di utilizzo dei motori di ricerca in Italia: un approccio empirico
  2. Nuovi motori di ricerca: Navisso e la pubblicità gratuita
  3. Krugle il nuovo motore di ricerca per programmatori consentirà la ricerca di codice sorgente tra i progetti open source e non solo
  4. La concorrenza fra i motori di ricerca passa anche dai browser
  5. Il meta motore di ricerca Ixquick propone la sua nuova toolbar