10. 2. 2011

Jak funguje SeznamBot/3.0

Třetí generace SeznamBota už se intenzivně testuje, chcete vědět, co je uvnitř?

Nový robot dostal do vínku současnou ostrou databázi, kterou už 2 měsíce občerstvuje, donedávna ji však dále nerozšiřoval. Od minulého týdne si sám hledá i nové dokumenty, vybírá ty, které se mu zdají zajímavé. Z nacrawlovaných dat vyrábí hledací databázi a výsledky již interně srovnáváme se současným hledáním.

A nyní nahlédneme trochu pod pokličku… Robot je založen na technologiích z projektu Hadoop, především na souborovém systému HDFS, frameworku pro distribuované výpočty Map/Reduce a NoSQL úložišti HBase. Hadoop technologii jsme zvolili po průzkumu dostupných možností, zásadními faktory byl otevřený kód, výborná škálovatelnost a samozřejmě výkon. Jako každá nová technologie, i tahle má ještě své mouchy a tak vyladění stability a výkonu námi napsaných aplikací se ukázalo jako nejvíc problematické.

Nový robot má databázi stránek včetně historie stahování, obsahu stránky, textového derivátu stránky (informace, které robot dokázal z kódu stránky extrahovat), různých hodnocení a zpětných odkazů uloženou v HBase. Z této databáze můžeme kdykoli bez nutnosti opětovného stahování stránek vyrobit binární hledací podobu používanou na výdejových strojích, pochopitelně také můžeme nad uloženými daty provádět různé analýzy a statistické výpočty. K tomu se využívá právě Map/Reduce framework. Zjednodušené schéma najdete na obrázku.

seznambot3 schema
SeznamBot 3 – schéma

Robot se nyní bude hlásit jako SeznamBot3.0-beta. Zajímá nás zpětná vazba od Vás, pokud se Vám bude zdát, že nový robot nestahuje Váš web správně, neváhejte nám to dát vědět na fulltext-robot@firma.seznam.cz. Upozorňuji, že činnost robota je čitelná pouze z access logu, ostré hledání je stále občerstvováno starým robotem, návštěvy nového robota s ním nijak nesouvisí. Buďte prosím co nejvíc konkrétní, zajímá nás o jakou stránku se jedná, případně pokud můžete, připojte access logy s přístupem SeznamBota. Přidávací formulář aktuálně není na nového robota napojený, upravíme to do konce týdne.