Google Danmark

Google Instant - Bag kulissen

Nyhed   •   Sep 10, 2010 16:02 CEST

Igår introducerede vi Google Instant, en hurtig og prædiktiv søgeoplevelse, der viser dig resultater øjeblikkeligt på resultatsiden, mens du taster. Du kan læse mere om Google Instant i blogposten fra i går, men vi vil gerne invitere dig til et lille kig bag kulisserne for at se på nogle af de udfordringer, vi er stødt på inden for både design, infrastruktur og logging.


Design udfordringen: relevant, ikke distraherendeDen væsentligste udfordring var at sikre, at brugerne ville bemærke relevante resultater uden dog at blive distraheret af dem. Vi var klar over, at det ville blive nødvendigt med omfattende tests for at finde det rigtige design, så vi gennemgik en lang række prototyper, usability studier med almindelige brugere og egentlige søgeeksperimenter. Nogle af de første prototyper var da heller ikke perfekte. For eksempel prøvede vi en prototype, hvor vi ventede på at brugeren skulle holde op med at taste, før resultaterne blev vist, men vi kunne med det samme se, at oplevelsen skulle være meget hurtigere. Vi overvejede også at præsentere resultaterne i forskellige former for “clusters”, hvor resultaterne blev sorteret i grupper baseret på diverse sandsynlighedsberegninger, men disse blev for vanskelige af afsøge under tastning.
Til sidst fandt vi to funktioner, der fungerer godt sammen: (1) en søge-forudsigelse inde i søgeboksen med grå tekst og (2) resultater for top-forudsigelsen, der hele tiden opdateres, efterhånden som der tastes. I brugerstudier fandt forsøgspersonerne hurtigt på nye måder at interagere med Google på: at skrive indtil den grå tekst matcher det, du ønsker at skrive og derefter flytte øjnene ned til resultatet. Vi var glade og overraskede over, at de fleste brugere ikke engang lagde mærke til, at resultaterne blev opdateret, før de havde søgt nogle minutter - det indgik gnidningsløst i søgeoplevelsen.
Se illustrationer her

Udfordringen til infrastrukturen: 5-7 gange flere resultater for typiske søgere
Vi har presset øget ydelse og fart ud af søgemaskinen i mere end ti år og er kommet til den konklusion, at hvert sekund tæller. Da vi mødtes med vores infrastruktur team og fortalte, at vi kommer til at levere fem til syv gange så mange søgeresultater for hver søgning, der udføres i Google Instant, blev de aldeles mundlamme. Selv før Instant leverede Google mere end én milliard søgninger om dagen, og vore systemer er optimerede til at sørge for, at disse søgninger sker så hurtigt som muligt (i reglen på mindre end et kvart sekund). Hvordan kunne vi levere så mange flere søgeresultater uden at overbelaste eller sinke vores systemer?
En løsning kunne selvfølgelig være simpelthen at investere i en markant forøgelse af server kapaciteten, men vi ville gerne finde en smartere måde at løse problemet på. Vi øgede vores back-up kapacitet, men vi afsøgte også en lang række strategier, der effektivt kunne imødegå de enorme krav fra Google Instant. Nogle af disse er ret tekniske, men her er et par eksempler:Vi har indsat nye caches, som kan håndtere et stort antal søgninger, samtidig med at resultaterne er helt friske, og vi fortsat kan afsøge og re-indeksere nettet.Vi har skabt systemer, der hele tiden kontrollerer den hastighed, hvormed resultaterne vises, direkte proportionalt med hvor relevante disse resultater antages at være.I vores back-end har vi introduceret bruger-status data for at holde styr på de resultatsider, der allerede er blevet vist til en given bruger - på den måde kan vi undgå at hente de samme resultater frem igen og igen.Vi har optimeret java-script koden for sidevisninger så vi fik sikret, at browserne kan følge med det øvrige system.
Alle disse anstrengelser har gjort os i stand til at lancere Google Instant, samtidig med at vi opretholder den hastighed på søgningerne, som brugerne med rette forventer af Google.

Logging udfordringen: Problemløsning, kvalitet og spam
Når vi står over for et kvantespring som Google Instant, ved vi, at logging er afgørende for, at vi kan løse problemer, forbedre kvaliteten og bekæmpe spam. På ingeniør-teamet var vi bekymrede for, om vi kunne reparere systemet, hvis det skulle bryde ned uden at ændre lidt på vores udvalgte søgedata. Med Google Instant forbliver vores politik omkring søge-logging og bruger-fortrolighed den samme: Efter 18 måneder anonymiserer vi de IP-adresser og cookies, der er associeret med søgninger. Vi har dog foretaget mindre ændringer to steder, og vi har arbejdet meget hårdt på at vise omtanke i forbindelse med ændringerne og for at minimere de data, vi opbevarer.
For det første indså vi, at vi blev nødt til at kunne registrere søgninger, som sker på nye måder - uden at der hverken klikkes eller trykkes på retur-knappen. Brugere kan søge ved blot at indtaste søgeord, og resultaterne dukker op automatisk. Det er svært for os at vide, hvad der egentlig tæller som en “søgning” i den kontekst, så vi har valgt kun at logge de gange, hvor brugeren kigger på et bestemt søgeresultat i mere end tre sekunder, eller når brugeren klikker på et resultat. For det andet har vi ændret en smule på vores tilgang til udvalgte søgedata, fordi vi har behov for en række informationer for at kunne forbedre kvaliteten og bekæmpe spam og misbrug. Vi plejede at slette 98% af alle data og derefter anonymisere resten inden for 24 timer efter logging. Med den nye metode sletter vi 100% af søgedataene inden for to uger. Det lyder måske som en mindre ændring, men det gør os i stand til at yde en meget større indsats for at forbedre søgning i fremtiden.

Ingeniør-teamet på arbejde
Da Google Instant var tæt på at være klar, sendte vi de to centrale ingeniør-teams ind i to store mødelokaler på vores centrale campus. Vi afholdt daglige stå-op møder (med mere end 50 mennesker). Måske vil du synes, det er sjovt med et glimt af sådan et møde for at få en fornemmelse af, hvordan vi arbejder, og hvordan vi tilgår de tekniske udfordringer, vi støder på undervejs. Med alt det hårde arbejde bag os er vi ret begejstrede for nu at se Google Instant på arbejde derude, i fuld gang med at spare dig værdifulde sekunder!
Af Ben Gomes, Distinguished Engineer

Pressehenvendelser til ekstern PR Kirsten Dinesen på 22170339