Contents:
Søgemaskine retorik
Der har virkelig været en travl her på det sidste. I Zooka land er der aldrig kedeligt, først fik jeg lige lagt feed4me.dk ned – 2 gange - så noget må bare ikke ske.
Dernæst, er jeg jævnligt til møder om strategier og hvad der dertil tilhører – de mere kommercielle tiltag. De dele kommer jeg til at skrue gevaldigt op for i den nærmeste fremtid, hvilket bliver rigtigt interessant.
Her kommer Fatter med kost og spand
Der bliver renset op i indekset nu. Det der konkret kommer til at foregå er, at der bliver oprettet et skyggeindeks hvor nye indlæg vil blive registret i.
Samtidig med at live indekset forbliver aktivt indtil et system ping har fuldført sit gennemløb - derefter skifter indekset.
Pt. er der over 700.000+ unikke feeds registeret i Zooka. Faktisk kommer der nye feeds ind - lige nu - i en 1:1 hastighed mod hvad der bliver behandlet, hvilket er ret vildt, hvis jeg selv skal sige det.
Derudover er der blevet rettet mange fejl siden sidst. Desværre har nogle af disse fejl, sat sit tydelige spor i indekset og/eller mangel på samme. f. eks, kastede Zooka forfatter informationen væk. Emne informationer blev i nogle tilfælde ikke fastgjort til en given side, men kun sektioner af teksten.
Kategorier på vej
Disse feeds vil blive opdelt i følgende tre hovedkategorier: Feeds, Blogs og Kommentarer. Det er målet at disse kategorier yderligere skal kunne opdeles i et mere emne orienteret hierarki – mere om det i en anden post.
Sprog
Zooka forstår betydningen af sprog – det skrevne sprog vel og mærke - Jo, den er god nok. 11 sprog er Zooka født med. Her er de: Dansk, Norsk, Svensk, Finsk, Tysk, Hollandsk, Engelsk, Fransk, Spansk, Italiensk, Russisk (for at få et andet alfabet med)
Selv om søgemaskinen kan tolke sprog er det på nuværende tidspunkt ikke søgbart – der er enkelte smuttere kan jeg se. Anyway, det er Zooka ved at blive forberedt til nu. Således bliver søgemaskinen ikke kun dansk. Jeg arbejder ud fra sub domæne teorien, og har følgende sprog strategi som jeg arbejder imod.
Dansk vil kunne findes på zooka.dk, Norsk vil befinde sig under domænet no.zooka.dk osv.
Ehm, hardware
Nu er der jo lige den ”lille” detalje omkring kapacitet, router etc. derfor lukkes der et sprog ind af gangen, også ser vi hvad der sker.
Målet er at ”Norden” først bliver lukket ind – dvs. Dansk, Norsk, Svensk og Finsk i nævnte rækkefølge.
Undskyld
Jeg er blevet kontaktet af en webhotel ejer, der fortalte at ZookaBot fik en af hans server til at gå ned. Det beklager jeg dybt, og jeg da også smidt alt hvad jeg har i hænderne for at finde årsagen.
Jeg opdagede desværre først beskeden i dag, selv om den var sendt for 6 dage siden. Jeg har optimeret en hel del på koden der kører ZookaBot, således den performer. Men, hvis det betyder at den kan ligge en hel server ned, står det ligesom skrevet i neon at det på ingen måde er acceptabelt.
Den ZookaBot der bruges til ren crawling, har derfor ”stuearrest” til jeg få analyseret problemstillingen – andet kan jeg ikke tillade mig.
Jeg har valgt at lade ZookaBot til syndikering kører videre, for at udelukke at den del også skaber problemer. Men hvis den gør det, send mig en mail via kontakt formen her på bloggen – den mail ryger direkte i min mail boks.
Betragtninger fra Zooka land
Der er foregået rigtig meget siden sidst. Hovedfokus har været på meget af det man ikke lige ser, sådan er det nu engang med en søgemaskine, og dog. Der er kommet lidt mere grafik på Zooka, dog er det er slet ikke færdigt eller fastlagt endegyldigt. Men det er nu spændene at teste forskellige elementer af, da det er et område jeg har forsømt lidt.
I fejlretnings tegn
Jeg vil sige at der nu er næsten 100% styr på encodingen. Det har været en svær udfordring da internettet af natur er et fantastisk kaotisk sammensurium af veldefineret dokumenter og deres diametrale modsætninger, også selv om meget kommer i xml form. Det kræver noget ordentligt kode til den håndtering.
Som nævnt tidligere skal der således ryddes kraftigt op i indekset, og da det nok ikke bliver sidste gang der skal ryddes op i samme omfang, er det derfor planen at automatiserer dette punkt. Der var også lige en uheldig svipser, med et filter, der lukkede alle www. sub sites ude. (Beklager)
Efter jeg annoncerede at Zooka nu kunne tilslutte sig real-time søgemaskinerne, glemte jeg i min iver at opdaterer et lille sted. Nemlig den cache del der holder/holdte dybde søgningerne for en bruger. Det resulterede i en hulens masse fejl til brugerne fra søgemaskinen, der ikke kunne finde noget som helst. Det var til trods for at dét faktisk eksisterede og var søgbart - Cache systemet havde en anden dagsorden og fortalte de algoritmer der spurgte, at det hér, det findes altså ikke. (meget uheldigt)
Da den fejl så blev rettet, gik de store bots næste amok, og downloadede på livet løs, så var dét et problem, derfor:
Mere rå power
Infrastrukturen har desuden fået et ordentligt hak opad. Zooka operer nu i 100% gigabit intern – udvalgte steder på to gigabit - hvilke gør det muligt at lave spændende nye tiltag, og holde andre Bots stangen. Lige nu står der gigabit router og venter på at blive sat i produktion. Det bliver nok næste weekend det sker.
Så de mere dumme, dumme fejl!
Har du 1 havde jeg 2, næ 4! Selve fronten har/havde da også sine problemer, for at nævne et par stykke kan jeg berette at forsiden hos bla. Google eksisterede 4 gange – med www og uden samt med og uden default.aspx. Den var ikke god, og efter jeg rettede det og andre små ting kunne det ses i logfilerne på den gode måde.
Jeg kunne også se at det ikke lige var super smart at overføre camel-casing og pascal-casing principper ned på fil niveau – det sker gerne for en udvikler, så hold os i ørene! - da Google ser filen Tags.aspx og tags.aspx som selvstændige filer. Vupti, så havde jeg et par stykker af dem også, igen med samme indhold, og det får man ikke points for hos Google.
En lille side bemærkning
jeg kunne/kan se på mine log filer at Google altid crawler/gen crawler en URL bestemt efter længden: dvs. at "hans" altid bliver taget før "hansen" Det er jo fint, så kan man jo næsten styre en GoogleBot mere intelligent.
Zooka’s bigdaddy
ja, hvad er nu det for noget. Det er simpelthen duplikeret indhold, link spam m.v. jeg må her ærligt indrømme, at jeg ikke troede der var så meget. Men det er der, og en søgemaskine uanset størrelse og formål, bliver nød til at tage hånd om problemet, jo før jo bedre faktisk.
Jeg vil ikke sige at jeg havde syltede den del, jeg var bare ikke klar over af det var så ”stort” og udspekuleret. Ja nogle steder næsten genialt lavet. Men jeg skulle jo have en masse rå data indenbords før det kunne analyseres.
Nye semantiske bindinger
Zooka har nu fået tilføjet en emne sektion. Den kan fungere som en slags nedbryder mod hvad du søger på – kan styres via indstillingerne - eller den kan sende dig rundt til ord/sætninger du ikke havde troet var forbundet med netop din søgning.
Data er ved skrivende stund på vej ind i hobetal, så der kan gå lidt tid før en søgning kan aktiverer emnerne. Alle bindinger er noget Nettet selv styre, så det bliver rigtig spændene hvad der kommer til at vise sig her.
Det er ikke bare på første side på en søgning den er aktiv, jeg har set den ændre sig bare man gik til side 2,3,4 osv.
Encoding mareridt
Encoding er blevet meget bedre. Det var rimeligt nemt at få lokaliseret synderen, og så få tæmmet banditten var en ganske anden sag.
Her er en list over hvad de forskellige xml feeds benytter sig af:
| default |
|
452370 - Ikke gennemsøgt |
|
| utf-8 |
|
69955 |
|
| iso-8859-1 |
|
9983 |
|
| utf-7 |
|
129 |
|
| iso-8859-9 |
|
31 |
|
| iso-8859-15 |
|
22 |
|
| koi8-r |
|
1 |
|
| us-ascii |
|
1 |
|
Udfordringen består nu i at få ryddet op i alt det der er indsat med forkert encoding.
Harware opdatering
F.eks. kom den nye Router, men! – de nuværende switches laver lidt ballade her, så 2 nye switches skal lige købes ind får jeg går i gang med dét, desværre. Jeg bliver nød til denne operation da bla. andre Bots m.v. hygger sig gevaldigt på webserveren. Specielt GoogleBot giver den rigeligt med gas.
Til slut
Så ved jeg godt at jeg lovede at skrive om server setup m.v. – det må lige vente lidt, har ret meget på programmet der absolut må komme først. Bla. er jeg ved at drukne i duplikater af indhold. Der er f.eks. en hjemmeside der udgiver sit feed med en GUID i navnet der ændrer sig ved hvert besøg, men indholdet er 100% identisk. Og spørger man på den gamle Feed Url får man fint svar med indhold og det hele. Derfor indledes der snart en operation ”BigDaddy” i Zooka regi..
System opdatering
Denne opdatering omfatter bla. en søgeforslagsboks. Boksen findes på forsiden, der er den tiltænkt til at hjælpe brugerne i deres søgninger.
Hvordan kan den så hjælpe brugerne? Min argumentation er som følgende:
En søgemaskinen har jo alligevel (næsten) alle svarene, derfor er det lidt underligt at man som bruger skal hive svarene ud af den. Hvad nu hvis svarene delvist kunne komme i en kontinuerlig strøm mens man søgte?
Bemærk at det er rå-data direkte fra indekserne i ser í søgeforslagsboksen.
En udmærkede test jeg lavede en morgen hvor jeg skrev ”woz” og straks fortalte Zooka mig at wozniacki havde tabt finalen om natten dansk tid – sejt, it’s alive!
Derudover er der blevet frigivet nogle filter der kan arbejdes med. Disse filtrer kan gøre en søgning mere præcis og overskuelig eller det modsatte. Der er flere af disse filter på vej.
Efter at fase 3 gennemførelsen gik planmæssigt, gik bla. Googlebot næsten amok og konsumerede alt båndbrede. Derfor har jeg eksperimenteret en hel del med bla. robots.txt – er slet ikke færdig på det punkt.
I den kommercielle afdeling begynder der så småt at ske lidt mere. Det vender jeg tilbage til i et separat indlæg, der er andre ting som er mere interessante en powerpoints og andet gøgl – buhuu, der trådte jeg vist nogle over en tå eller mere…
Hvad er der i vente:
-
Kategori/Emne forslag inspireret af diskussioner med bla.
Søren Sprogø.
-
Derudover foreslog
Claus Heinrich mig at lave et indlæg om hvordan Zooka er opbygget – altså serveren etc. Det vil jeg gøre, men det bliver over mange indlæg.
-
Løsning på encoding problemer – lidt surt at kalde sig en Dansk
søgemaskine også have problemer med ÆØÅ…
Zooka.dk kan nu tilslutte sig realtids søgemaskinerne
Fase 3 er i gang, endelig! og puha for en sværdfisk at få i land. Lige nu laver den et gigantisk system ping - og lad mig være ærlig, jeg aner overhovedet ikke hvordan systemet regerer - den har jo ligesom 400.000+ feeds den er bagefter der potentialitet kan have N antal enheder, der skal indsættes i sorteret lister m.v. – det går simpelthen imod enhver form for logik.
På den anden side, klare den dét her, er det en udmærket stress- og validerings test af de nye algoritmer.
Alt er alligevel skruet ned på lavt blus – så en real stress er det nok ikke, men alligevel - og der bliver kørt alle de moniteringsværktøjer jeg har til min rådighed.
Det er en nødvendighed, da debugging af de milliarder af ord Zooka jonglere med nu, ellers vil være ophørt når vores egen sol er brændt ud.
I første omgang koncentreres fokus omkring inserts, derefter kommer så deletes - der ikke er lavet 404 tests da jeg er lidt i vildrede omkring det mønster der skal vælges (mere om det i sin egen post) , men det kommer Daniel
- og til sidst updates.
Derudover kan jeg konstaterer at der skal laves nogle seriøse filtre til at håndtere spam, dupletter og andet gøgl. Puha, der kommer hele tiden noget på listen.
Lige nu, er det sådan: at et filter der hæver flaget og siger "spam/støj" automatisk vil fjerne den pågældene side, så den IKKE bliver indsat. Det kommer der styr på så snart de dele af systemet er trænet lidt mere (neurale netværk)
9jdshuk67e
De første skridt mod realtime
Udviklingen med at implementerer realtime systemet i Zooka skrider fremad. Om det så gør det i et rimeligt tempo, ville være en overdrivelse. Det går praktisktalt langsomt lige nu. Ikke fordi jeg skyder fra hoften når det gælder nyudvikling og bare prøver mig frem – det kan man også engang i mellem, bare man er klar over konsekvensen - mere fordi jeg går med livrem og seler lige nu.
Dem der har fulgt lidt med på twitter.com/ZookaDK har sikkert bemærket at det gik både op og ned. Faktisk mangler der lidt før trin 1 et helt komplet. Zooka er stort system fordelt på mange maskiner, og det kræver fuldt fokus at opdaterer så meget på én gang.
Og ved i hvad, den klassiske fejl viste sit grimme ansigt. En simpel konfiguration fil manglede at blive opdateret, hvilket resulteret i et systemnedbrud på én time, indtil jeg fik lokaliseret den - Jeg må få bygget noget automatisk deploy snart!
Jeg er kommet frem til at en fuld implementering bliver lidt som en tretrins raket. Først og fremmest skal hele backend delen opdateres, således den kan håndtere syndikations data og ikke bare ekkoer fra Zookabots normale runder.
Det system der kontrollerer Zookabots runder, skal derfor til at opererer med to spor. Det store spor håndterer praktisk talt alle sites som Zooka kender – ligge et site der, tager det lang tid før ændringer ses.
Det lille spor vil være realtime sporet. For at forebygge at et site besøges mere end en gang på en runde, må samme site derfor aldrig eksistere i begge spor samtidig. Men et site der befinder sig i det lille spor kan praktisk talt godt besøges flere gange, selv om det store spor ikke er fuldført.
Hvordan bliver et site så flyttet til realtime sporet?
For at kickstarte realtime systemet vil samtlige sites der ligger i det store spor vil blive løbet igennem, og har et site bare skyggen af et feed bliver det overført med det samme. Bemærk dette sker kun én gang, via en specialbygget applikation til formålet.
Zooka tror på at alle sites med et xml feed opdaterer deres indholdet jævnligt. Derfor simuleres der et globalt system ping 1 gang i døgnet. Dette vil sende Zookabot af sted mod samtlige feeds i systemet – 406.489 lige nu.
For at give Zookabot et beslutnings mandat, har den feed informationer med i bagagen om den pågældende URL. Hvis der er tilføjet nyt indhold som kan aflæses i et eller flere feeds, vil Zookabot på baggrund af historikken omkring opdateringsfrekvensen, anmode om flytning af domænet til realtime sporet, eller tilbage til det sløve spor, hvis der ikke sker øjensynlige ændringer i en periode. Derefter overdrages det nye feed til syndikations systemet.
Et ping er derimod en sikker vinder her, det vil følge samme metodik som et system ping men Zookabot behøver ikke her, at anmode om noget som helst, for den er der allerede i realtime sporet før Zookabot sendes af sted.
Ved en logfil analyse vil dette mønster snart vise sig i en nær fremtid.
Beretninger fra et start-up.
Det er lidt en blandet pose bolsjer, her i den første status post. Det er nu 1 mdr. siden, jeg åbnede op for Zooka. Det skete lidt i en vanvidsoperation. Jeg havde besluttede mig for en hel anden konstruktion, end dét der kører Zooka lige nu. Sådan skulle det ikke blive, og jeg åbnede op for DNS’en, meldte Zooka.dk til et par hjemmesider og naturligvis Google, også tog jeg på campingferie – i den situation, skulle jeg nok have råbt: Er der en kommunikations rådgiver tilstede, der er brug for øjeblikkelig hjælp her.
Zookabot blev sendt af sted, og der gik ikke lang tid før den fandt et link til zooka.dk. Derefter ville Zookabot så gerne crawle zooka.dk – forestil jer lige hvilket selv refererende duplikat mareridt det ville føre med sig – heldigvis kan ethvert domæne styres ned til mindste bit i Zooka, så det fik jeg hurtigt sat en stopper for.
Der er blevet arbejdet på realtime-system-delen meget fokuseret i den sidste tid. Det er lidt af en hård nød at knække, men på den anden side, så ville det nok ikke være sjovt at bygge hvis det var nemt – det er bare min holdning. Der er kommet et par gode input hertil - tak til Søren sprogø & Daniel N. - der helt klart vil blive indarbejdet i den kommende tid.
Mht. realtime systemet, kom det lidt bag på mig, at mange faktisk laver et ping ved at sende domænet og ikke den fulde URL. Derfor skal dette også tænkes ind. Jeg kan kun opfordre flere til at pinge Zokka.dk, med eller uden fuld URL
Efter en gennemgang af de mange TAGS der kommer ind, overså jeg det uheldige mønster at nogle TAGS faktisk bliver pumpet kunstigt op. Det sker grundet duplikater der få lov at glide gennem de filtrer der ellers er designet til at fange den salgs ting. Så der var lige en ekstra udfordring mere til listen.
Tilmeldingsformen er generelt irriterende og får et serviceeftersyn snarest muligt. Ellers har tiden gået med at analysere data i en jævn strøm, og det slipper jeg nok ikke for et stykke tid endnu.
Husk altid at planlægge hvilken strategi i vil bruge mht. jeres domænes www. eller uden www. Det er noget som burde sidde på rygraden, men som jeg på mærkværdig vis fik rodet godt og grundigt rundt i. Det er gudskelov rette nu.
Zookabot kravler
Zookabot 1.0 BETA er sendt af sted i cyberspace. Denne gang skal den besøge ca. 450.000 sites (kun .dk) – Ved sidste besøg genererede det ca. 50 (mio) unikke sider, så det tager lidt tid at fuldføre dette gennemløb.
Nogle vil sikkert spørge: ”er der virkelig så mange .dk feeds?” Nej, desværre langt fra endnu, i hvert fald ikke i Zooka. Der er kun 370.000 unikke feeds registret i Zooka’s systemer. Af dem er der ca. 150.000 feeds, der indeholder fulde/halve fragmenter fra andre feeds – dvs. duplikeret indhold - enten fra samme site eller andre sites.
Desuden er der en mærkelig gruppe på ca. 10.000 mystiske feeds. Disse feeds er på ingen måde valide og indeholder ikke skyggen af xml, til trods for MIME typen angiver noget andet ved download.
Zookabot kan hente ca. 2.7 (mio) sider pr. dag – det er dét som den får lov til - dette tal er dog meget varieret grundet alverdens server opsætninger og force majeure. Dette giver en smugle pres på den ene IP som Zookabot bruger – linjen er en (60/60) mbit fiberlinje – derfor kan Zooka.dk svare lidt sløvt engang imellem indtil systemet får regnet lidt frem og tilbage på trafikken der skal ind og ud.
Home