Het hart van Google's zoekmachine is PageRank, een systeem om webpagina's te ordenen op hun belang. Google-oprichters Larry Page en Sergey Brin ontwikkelden dit systeem in 1998 aan de universiteit van Stanford. PageRank bekijkt het netwerk van links tussen webpagina's en beschouwt een pagina als belangrijker naarmate er meer links naar verwijzen. Er wordt echter niet enkel gekeken naar het aantal verwijzingen, maar ook naar het belang van de verwijzende pagina's. Zo zal een verwijzing van een belangrijke pagina (bijvoorbeeld http://www.google.com/, http://www.microsoft.com/) naar een andere pagina sterk doorwegen in het belang van die tweede pagina.

Uiteraard geeft een 'belangrijke' pagina nog geen garantie dat ze relevant is voor een bepaalde zoekterm. Google combineert dus de PageRank-score met technieken om relevante pagina's voor de zoekterm te vinden. Hierdoor zijn de zoekresultaten geordend op belang én relevantie. Er wordt niet enkel gekeken naar het aantal keren dat de zoekterm op de pagina voorkomt, maar ook bijvoorbeeld of de tekst in een link of in een titel staat. In dat laatste geval is de pagina waarschijnlijk relevanter dan wanneer de term gewoon in het midden van een alinea staat.

Supercomputer

In plaats van dure multiprocessor-servers te kopen, heeft Google het over een heel andere boeg gegooid: een heleboel relatief goedkope servers werden aan elkaar gekoppeld. Wat in 1998 begon op twee desktop-machines, groeide al vlug uit tot duizend dual CPU servers. Anno 2005 wordt geschat dat de Google-zoekmachine op meer dan tienduizend computers draait.

Natuurlijk zijn deze computers niet zo betrouwbaar als hun dure neefjes. Om een goede werking te garanderen, heeft Google ervoor gezorgd dat als er één uitvalt, een andere machine het werk overneemt. De zoekopdrachten die op dat moment bezig zijn, worden dan niet afgebroken. Bovendien staan de computers verspreid op verschillende plaatsen, zodat de zoekmachine tijdens een groot incident nog altijd operationeel blijft door de resterende computers. In het begin van dit jaar maakte Google bijvoorbeeld bekend dat er brand was uitgebroken in één van zijn datacenters, zonder dat de gebruikers hier iets van gemerkt hebben. Op een ander moment vielen 1800 machines uit door een onderhoudsprobleem, terwijl de zoekmachine toch bleef doorwerken. De zoekmachine is overigens sinds februari 2000 op geen enkel moment volledig uitgevallen.

Google File System

De Google-ingenieurs schreven zelfs hun eigen bestandssysteem: Google File System. Dit systeem is allereerst geoptimaliseerd om met grote blokken gegevens te werken. De lijst van trefwoorden en de pagina's waarin de trefwoorden voorkomen, worden bijvoorbeeld in een aantal grote bestanden gezet. Een tweede kenmerk van het systeem is dat het goed tegen hardwarefouten kan, bijvoorbeeld een harde schijf of netwerkkabel die uitvalt. Alle gegevens staan immers op drie plaatsen die niet op hetzelfde communicatie- of elektriciteitsnetwerk aangesloten zijn. Als één van de computers uitvalt, worden zijn gegevens in enkele minuten tijd vanaf één van zijn kopieën naar een derde computer gekopieerd.

Het feit dat alle gegevens op verschillende plaatsen staan, betekent ook dat er sneller toegang tot mogelijk is: als bepaalde informatie gevraagd wordt aan een server, die vervolgens laat weten dat hij het net te druk heeft met een andere zoekopdracht, kan aan een andere server met diezelfde informatie een kopie gevraagd worden. Zo kunnen er heel wat zoekopdrachten tegelijk gebeuren.

Slimmer zoeken

De zoekmachine zoekt niet enkel naar de exacte zoekterm die ingetypt wordt. De software probeert namelijk patronen te vinden in de hoop gegevens om daaruit te leren. Zo kan het de meest voorkomende spelfouten vinden in een bepaalde zoekterm. Als iemand één van die fout gespelde woorden intypt, suggereert de zoekmachine een alternatieve spelling.

Op de EclipseCon-conferentie in maart van dit jaar gaf Urs Hoelzle, Google's 'vice president of engineering', al een vooruitblik op hoe de zoekmachine in de toekomst nog slimmer kan worden. Als een gebruiker bijvoorbeeld zoekt naar "Bay Area cooking class", zou de zoekmachine moeten weten dat "Berkeley courses: vegetarian cuisine" even goed een relevant zoekresultaat geeft, ook al komt geen enkel woord in de twee zoektermen overeen. Het systeem kan dit doen door te zoeken naar de concepten achter de ingegeven woorden en tevens de verschillende concepten te groeperen in gerelateerde onderwerpen. Als een zoekterm binnenkomt, gaat het systeem dan niet naar de woordelijke term kijken, maar naar de achterliggende en gerelateerde concepten.

Pure magie

"Any sufficiently advanced technology is indistinguishable from magic", schreef sciencefiction-auteur Arthur C. Clarke in 1961 in zijn boek 'Profiles of The Future'. Tien jaar geleden zou Google's zoekmachine nog pure magie geleken hebben. Nu kijken we er echter niet meer van op dat we met enkele woorden in een fractie van een seconde een schat aan informatie kunnen vinden.