Hur fungerar blogg:anser?
Varning: Denna sida är tekniskt inriktad och handlar om hur det fungerar under huven på webbplatsen. Du kan om du vill istället läsa om vad blogg:anser är.
Hur hamnar blogginläggen här?
- En bloggare pingar tjänsten Var är du? när han har skrivit något nytt
- Var är du? hämtar RSS/RDF/Atom-flödet från bloggen
- Så småningom hämtar blogg:anser ett XML-flöde från Var är du?
När och hur hämtas all data?
Var är du? exporterar bloggdata i XML-format. Det är inte ett RSS-flöde eller liknande, utan i ett eget format. Detta flöde är relativt obearbetat och en mycket god startpunkt (ett tips till dig som funderar på att starta eget).
Med hjälp av ett så kallat cron job körs ett PHP-skript på den här servern, som hämtar XML-flödet och lagrar all information i databasen. Detta sker med jämna mellanrum och helt automatiskt.
Hur avgörs vilka inlägg som ska visas under ”Apropå det …”?
Med hjälp av en ganska enkel algoritm plockas viktiga ord ut ur det ursprungliga inlägget. Sedan görs en sökning genom databasen efter andra inlägg som innehåller dessa ord. Ibland är de valda orden meningsfulla för inlägget, ibland är de inte det. Algoritmen fyller ändå sitt syfte på ett mycket bra sätt.
Om allt är så slumpmässigt, varför visas samma saker hela tiden?
För att minska belastningen på databasen lagras resultaten från tidsödande SQL-frågor i cache-tabeller. Dessa rensas sedan efter hand via samma cron job som ovan. Exempelvis tar det en liten stund när mySQL söker igenom alla inlägg efter en sträng, och att plocka ut slumpmässiga poster ur en stor samling tar också tid.
Efter ett tag kommer det som verkar statiskt bytas ut mot en ny uppsättning ”statiska” länkar.
