Sökmotorers uppbyggnad

[Följande text och bild bygger på: Langville, A. N., & Meyer, C. D. (2006). Google’s PageRank and beyond: The science of search engine rankings. Princeton, N.J: Princeton University Press. Den är en fördjupning av avsnittet “Hur fungerar en sökmotor?”  i kapitel 2 om sökmotorer (s.19-22 i Fransson (2007)).]

sökmotorns olika delar

Spindeln (Crawler Module)

Webben är inte organiserad på något sätt, till skillnad från traditionella samlingar av dokument (som arkiv, bibliotek och databaser), utan växer och förändras ständigt utan någon egentlig kontroll. Det innebär att sökmotorerna själva måste samla in och kategorisera informationen på webben. Mjukvaran, programmet, som samlar in informationen kallas för spindel eller robot. Spindeln är ständigt ute på webben och samlar ni webbsidor som lagras i sidförvaringen.

Spindeln fungerar på många sätt som en webbläsare, men arbetar i en helt annan skala. Den kan också följa länkar bakåt, dvs. följa de länkar som länkar till webbsidan, inte bara de synliga länkar som vi är hänvisade till i vår webbläsare.

De olika sökmotorernas spindlar har namn. Googles huvudsakliga spindel heter Googlebot (bot efter robot) och Altavistas hette Tarantual (se http://www.searchenginedictionary.com/spider-names.shtml). Webbplatsägare kan genom en instruktionsfil bestämma vad de olika spindlarna får gör på webbplatsen. I robots.txt som filen heter kan det t.ex. bestämmas att Googlebot inte får indexera sidorna men spindeln får följa länkarna. Eller att spindeln inte får indexera några bilder. Se http://www.robotstxt.org/ för mer information om robots.txt. De stora sökmotorernas spindlar verkar följa instruktionerna (kanske snarare ska kallas begränsningarna) i robots.txt. Men en spindel går givietvis att programmera till att INTE följa robots.txt-filen.

Sidförvaringen (Page Repository)

De sidor som spindeln hämtat hem sparas här i sin helhet tillfälligt. Här stannar sidorna tills de skickas till Indexeraren, där den viktigaste informationen tas fram ur webbsidan och en komprimerad version av skapas. Populära sidor som återkommande används vid svar på sökningar sparas här längre, ibland för alltid.

Indexerare (Indexing Module)

Indexeraren tar varje ny sida som spindeln hämtat hem, extraherar de viktiga delarna och skapar en komprimerad beskrivning av sidan som sparas i olika index. De okomprimerade sidorna som skickats till indexeraren kasseras, eller om den bedöms som populär så skickas den tillbaka till sidförvarningen.

Index (Indexes)

Sökmotorns olika index lagrar den komprimerade informationen från varje webbsida. Indexen kan delas in i tre typer:

  • Innehållsindex – här sparas innehållet som text, titel och ankar-texten (i länkar) för varje webbsida. Det sparas i formen av ett inverterat index (se Fransson s.23).
  • Strukturindex – här sparas information om länkstrukturen, in- och utlänkar för varje webbsida. Spindeln kan utnyttja detta index för att hitta oindexerade webbsidor.
  • Specialindex – olika typer av index för speciella ändamål, t.ex. för bilder eller pdf-filer, och som kan användas vid speciella sökningar.

Frågeoberoende och frågeberoende delar

De ovanstående fyra delarna och deras datafiler finns och opererar oberoende av sökmotorns användare och deras frågor. Spindeln samlar konstant in webbsidor från webben som sedan indexeras. På bilden är de inringade och benämns frågeoberornde (query-independent). Till skillnad från nedanstående som är frågeberoende (query-dependent) och där processen startas när en användare gör en sökning, vilken sökmotorn måste svara på i realtid (på millisekunder).

Frågehanteraren (Query Module)

Frågehanteraren omvandlar användarens fråga ställd i naturligt språk till ett som systemet förstår (vanligtvis i siffror) och konsulterar de olika indexen för att svara på frågan. I innehållsindexet med dess inverterade struktur hittas sidor med de olika söktermerna som förekom i sökfrågan, dessa sidor kallas för relevanta sidor (och kan ibland vara 2,5 miljoner i en bred Googlesökning). De relevanta sidorna skickas vidare till rankningshanteraren.

Rankningshanteraren (Ranking Module)

Rankningshanteraren tar de relevanta sidorna som den fått från frågehanteraren och rankar dem enligt vissa kriterier. Resultatet är en träfflista med webbsidor där sidorna med topplaceringar är mest troliga att vara det sökaren önskar. Träfflistan består inte av alla de kanske 2,5 miljoner träffarna som frågehanteraren fick fram, utan ofta mellan 500 och 700 sidor (i Google visas inte fler än 667 träffar oavsett hur många som bedömts som relevanta). Rankningahanteraren väger samman två värden, ett innehållsvärde (från frågehanteraren) med ett populäritetsvärde och får på så sätt fram totalvärde. Poängen på totalvärdet avgöra placeringen i träfflistan. I Googles fall är pouläritetsvärdet sidans PageRank-värde, men alla de stora sökmotorerna beräknar ett populäritetsvärde grundat på länkanalys (som PageRank) men även andra faktorer kan vara inblandade. Och hur viktningen mellan innehållsvärde och populäritetsvärde görs är företagshemligheter.

Leave a Reply

Your email address will not be published. Required fields are marked *