Nová implementace rychloobrátkového robota

24. srpna 2015

V červnu jsme spustili nového rychloobrátkového robota, tzv. FreshBota. Ten má za úkol navštěvovat stránky a RSS zdroje, kde se objevuje nový zajímavý obsah, zejména novinové články, a ukládat je k nám do databáze, v níž se vyhledávají dotazy uživatelů. Není to úloha pro klasického „velkého“ SeznamBota, který denně navštíví stovky milionů stránek, protože cesta takového množství stránek do indexu může po stažení trvat i více než dva dny. Proto FreshBot navštěvuje pravidelně jen vybrané zdroje, které generují nový obsah, jenž je zajímavý pro uživatele hledání.

Dříve měl FreshBot ve své databázi okolo tří tisíc zdrojů, z nichž každou minutu stahoval několik desítek nejzajímavějších. Zbytek stahoval jednou za deset minut, až za půl hodiny, podle kvality zdroje. Protože jsme chtěli, aby se do hledání nové stránky dostávaly rychleji a z mnohem více zdrojů, museli jsme tuto komponentu postavit od základů znovu.

Nový FreshBot využívá technologii, která zvládne po přidělení větší výpočetní kapacity zpracovávat výrazně vyšší objem dat. Tato nově vyvinutá technologie je od začátku navržená tak, aby bylo možné efektivně škálovat jak rychlé streamové zpracování dat, tak velké dávkové objemy dat, ale zároveň mezi oběma způsoby zpracování sdílet kód. Díky tomu bude možné postavit FreshBota i velkého SeznamBota na stejném technologickém podvozku.

V současné době jsou spuštěné obě verze FreshBota zároveň. Do konce září ale chceme odladit všechny známé nedostatky a nechat v provozu jen novou verzi, která už teď dosahuje s novou technologií lepších výsledků, než původní FreshBot. Například doba mezi vydáním článku na Novinky.cz a jeho stažením a odesláním do indexu se zkracuje pod minutu. Když připočteme dobu zařazování stránky do indexu, vychází, že článek bude možné v seznamáckém hledání najít do pěti minut od jeho vydání. Rychlost zpracování i počet stahovaných zdrojů chceme dále zvyšovat. To přinese do hledání rychleji větší množství nově vzniklých stránek.

Sdílet na sítích