Twinglys sökmotor bjuder på mycket nytt

2008-04-03 17:13 | Kategorier » Ny teknik, Webb,

Twingly

Häromdagen var jag på en presentation av Twingly som Martin Källström (CEO på Twingly) höll i, där fick vi som var närvarande en exklusiv förhandstitt på Twinglys kommande sökmotor (för närvarande en privat beta). Vi fick även veta hur de system som indexerar och tar hand om alla inlägg fungerar. Jag måste säga att det är en imponerande lösning.

I dag har Twingly lanserat sin bloggsökmotor på The Next Web Conference 2008, skälet att jag inte skrivit om den tidigare är helt enkelt på grund av att Martin bad oss som närvarade att inte offentliggöra det vi såg och hörde förrän de hade fått chansen att själva gå ut med det först.

Av det jag sett att döma under mitt testande av tjänsten så kommer Twinglys bloggsökmotor att kunna bli större och betydligt mer inflytelserik än Googles motsvarande. Den har redan i dagsläget funktioner som inte finns hos övriga sökmotorer, eller man skall kanske snarare säga att den tar många av funktionerna ett steg längre.

Till att börja med, vad är Twingly?

Twingly är en tjänst som kopplar samman bloggar med bland annat tidningar. Systemet innebär att när man skriver en post och länkar till en tidningsartikel hos en tidning som är ansluten till Twingly så kommer man i gengäld att få en länk tillbaks till sin egna blogg ifrån tidningen.

Det hela medför en större interaktion mellan bloggare, tidningar och deras läsare.

Så, vad är nytt med Twinglys sökmotor?

Twinglys sökruta

Till att börja med så har de utvecklat ett system för att möjliggöra spamfria sökningar. Det vill säga, du ska kunna söka efter ”viagra” utan att få massa träffar på sidor som är fulla av viagra-spam, målet är att det skall vara kvalitetsinnehåll som berör viagra. Systemet fungerar oerhört bra måste jag säga (testa gärna motsvarande sökning på Google…).

Bloggvärlden är en ganska social företeelse, så även Twinglys sökmotor. Med hjälp av en del funktioner kan Twinglys användare påverka sökresultat och lyfta fram intressant innehåll. Här finns det självklart filter mot röstspammande, något som man lätt kan se bli ett problem annars.

En av de mer intressanta funktionerna är möjligheten att utöka kraftfulla prefix för sökningar för att på så vis få fram specifika sökträffar.

Google har länge gett användarna möjlighet att använda sökprefix i stil med ”site:” eller ”link:”. Om man på Google söker efter ”virus site:gate303.net” så kommer man att hitta de artiklar som innehåller ordet ”virus” här på Gate 303, sökningen sker enbart på den sida man anger helt enkelt.

Sökprefixet ”link:” fungerar på ett liknande sätt, men visar endast de sidor som länkar till den angivna adressen.

Men om jag vill se ifall sidan x.com har länkat till y.com någon gång då? Då borde jag ju kunna skriva ”site:x.com link:y.com”, eller hur? På Google går inte detta. Det fungerar däremot hur fint som helst på Twinglys sökmotor. På samma sätt kan man blanda in andra söktermer eller lägga till fler sökprefix om man så önskar. Det bara fungerar… =)

Man kan även söka baserat på taggar genom ”tag:”-prefixet.

Tekniken bakom Twingly

Många bloggar pingar Twingly när inlägg postas, hur fungerar egentligen systemet som tar hand om detta?

Hur hämtar Twingly in blogginlägg?

Det första som händer är att en ping kommer in till twinglys ”pingserver”, denna ”ping” innehåller i princip sett adressen till det nyskrivna inlägget. Här läggs dessa i en kö, varefter det sker kontroller för att förhindra bland annat dubletter och spam.

När filtret passerats skickas adressen till Twinglys webbklienter som sedan i sin tur hämtar inläggen och sparar ned dem på en lagringsdisk. Här analyseras inläggen efter länkar, varefter länkar och postens innehåll läggs in i Twinglys databas.

Det är alltså ett system bestående av tre delar: ”Pingserver”, inhämtning och lagring.

Flera databasservrar finns, så för att få fram den server som inlägget skall läggas in i skapas en kontrollsumma utifrån inläggets adress, från denna kontrollsumma fås sedan den server som innehållet skall läggas in i. På så sätt sprider Twingly ut innehållet över sina databasservrar, något som drastiskt ökar prestandan och skalbarheten.

Med all data som ständigt kommer in så äts diskutrymme sakta men säkert upp, hur gör man egentligen när man bygger ut en sådan här lösning? Hade de haft en jättekraftfull server så hade de helt enkelt fått köpa in en ny server, flytta över all data (förmodligen med driftavbrott som följd) och sedan på något vis göra sig av med den gamla servern. Twingly har (precis som många andra) löst detta på ett betydligt smidigare sätt däremot.

När Twingly behöver utöka sitt lagringsutrymme eller prestanda köper de in nya bladservrar som sedan monteras in i rackskåpet, efter detta bryter de tillfälligt anslutningen mellan Twinglys webbklienter och databasen där de skall lagras. Efter detta flyttas hälften av databastabellerna över till de nya servrarna, sökindexet byggs om, varefter systemen kopplas ihop igen och allt fungerar som det skall igen. Detta medför att data fortsätter att hämtas in, men läggs på kö under själva uppgraderingen.

Fördelen med ett system som är skalbart på detta sätt är att man lätt kan bygga ut prestandan utan stora kostnader, stora arbetsinsatser eller långa driftavbrott.

Sökfunktionerna då?

Allt som läggs in i databasen gås också igenom av en sökmotor, närmare bestämt Sphinx som är en sökmotor med öppen källkod. Tack vare att den bygger upp ett sökindex så går det oerhört mycket snabbare att söka bland inläggen.

Har man inte ett sökindex måste varje enskilt inlägg öppnas upp och gås igenom ord för ord för att man skall kunna få sökträffar. Det är lätt att inse att detta inte är en hållbar lösning i sådana här sammanhang.

Förenklat så fungerar ett sökindex på så sätt att det i en databas sparas vilka inlägg som innehåller vissa ord.

Antag följande förenklade situation, det kommer in tre inlägg:

  1. Far är bra
  2. Mor är rar
  3. Rar är bra

Läggs dessa till i ett sökindex kan det se ut som följer:

Sökord Finns i inlägg
far 1
är 1 2 3
rar 2 3
mor 2
bra 1 3

När man då söker efter ett visst ord så ser sökmotorn direkt i vilka inlägg ordet finns och kan på så sätt snabbt hämta ut datan. Eftersom datan är uppdelad på många servrar så kan sökningen drastiskt snabbas upp genom att det ligger en så kallad daemon (förväxla inte med ”demon”) på varje server.

När en sökning sker så får varje enskild daemon en sökförfrågan och söker enbart på sin server, på så sätt kan Twingly genomföra en sökning samtidigt på alla sina servrar.

Så, är den perfekt?

Det är klart att det alltid går att förbättra produkter även om de redan från start är oerhört trevliga. Joacim på The Advertiser skriver om hur han skulle vilja ha lite bättre relevanssortering eftersom det inte alltid är det senaste inlägget man söker efter. Det går i dagsläget att sortera baserat på datum, Twinglyrank eller inlänkar. Jag håller med Joacim om att det vore trevligt med en lite mer automatiserad rankning, kanske är det på väg?

Andra som skriver om Twinglys sökmotor

Gravatar
|
Jonas — 2008-04-03 19:45

Mycket trevlig genomgång av nya Twingly!

Gravatar
|
Test av nya Twingly | Utvbloggen — 2008-04-03 19:50

[…] Gate 303 […]

Gravatar
|
Kristoffer — 2008-04-03 19:59

Jonas: Tack, trevligt att du tyckte om artikeln! =)

Gravatar
|
Kalle Svensson: Maximum Flow → Arkiv » Det alla skriver om — 2008-04-04 08:59

[…] om det jag söker efter. TwinglyRank behöver fortfarande filas på. Det är jag för övrigt inte ensam om att […]

Lämna en kommentar


Regler för kommentarer på Gate 303

Creeper MediaCreeper