Jak Seznam pořizuje náhledy webů: Průvodce technologií a vývojem

Seznam.cz, jakožto jediný český fulltextový vyhledávač, implementoval náhledy stránek do svých výsledků vyhledávání poměrně brzy. Tento článek se zabývá postupem, jakým Seznam náhledy webů vytváří, a to od prvních verzí postavených na Internet Exploreru až po současné řešení využívající jádro Gecko.

Historie a první generace generátoru náhledů

Už při práci na vlastní verzi vyhledávání Seznam s náhledy počítal. První generátor náhledů byl postaven na jádru Internet Exploreru (IE). Průzkum tehdy ukázal, že IE je pro tyto účely nejovladatelnější. Pro programátory IE nabízí rozsáhlou množinu callbacků pro různé akce. Alternativní řešení nebyla v té době dostatečně pokročilá. Další výhodou IE byla podpora pluginů, jako je Flash, v generovaných náhledech.

Generátor náhledů fungoval jako služba ve Windows, která využívala komponentu Internet Exploreru. Spouštělo se přibližně 20 instancí IE, které načítaly stránky a snímaly obrázky. Ve špičce se takto pořídily 2-3 snímky za vteřinu, ovšem s celkovým výkonem několika strojů.

Důvodem relativně nízkého počtu screenshotů na instanci IE byl fakt, že veškeré stahování z IE ve Windows pravděpodobně probíhá přes jediný download manager, který omezuje celkový průtok dat. Přidávání dalších instancí IE tak od určitého bodu nepřinášelo zlepšení. Navíc focení některých stránek trvalo dlouho.

Při rozhodování o způsobu snímání se zohledňovaly vlastnosti dané stránky. Kromě přítomnosti Flashe a dalších dynamických prvků se zjišťovaly i rozměry stránky. Některé stránky byly optimalizované pro šířku 1024 px, jiné měly centrovaný design s šířkou 600 px. Snímání obou typů stránek na 1024 px by vedlo k neoptimálním výsledkům.

Čtěte také: Čelenka pro vaše uši

Přechod na Gecko a nová generace generátoru náhledů

Později Seznam spustil novou verzi generátoru náhledů, postavenou na jádru Gecko (používaném ve Firefoxu). S první generací systému se pojila řada provozních problémů. Správa serverů vyžadovala příliš mnoho času věnovaného jedné aplikaci, protože systém byl náročný na údržbu. Po spuštění běžel průměrně asi měsíc, poté byla nutná údržba.

Rychlost byla pro Seznam klíčová. Po zlepšení robota fulltextového vyhledávání, který stahoval stovky stránek za vteřinu, se generátor náhledů s 2-3 stránkami za vteřinu jevil jako úzké hrdlo. Nová verze dokázala bez problémů pořídit asi 20 náhledů za vteřinu.

Současná verze je mnohem rozsáhlejší. Původní verze se starala pouze o generování náhledů, zatímco nová verze obstarává i jejich výdej.

Před prací na nové verzi proběhl průzkum HTML enginů. Horkým kandidátem byl WebKit, ale tehdy neběžel na Linuxu tak optimálně, jak by bylo žádoucí. Generování náhledů přes WebKit bylo sice možné, ale problémy se vyskytly s Flashem a přístupem k DOM stránky. WebKit ale vypadá nadějně a může být ve hře pro případnou třetí generaci.

Nakonec byl vybrán projekt MozEmbed, což je embedovaná Mozilla. Co se týče ovladatelnosti, z testovaných enginů je na tom Mozilla nejhůře. Má velmi slabé možnosti ovládání. Na druhou stranu Gecko řešilo problémy Seznamu, vytvářelo náhledy pěkné a spolehlivě, včetně Flashe, což nakonec převážilo.

Čtěte také: Návod pro začátečníky i pokročilé: pletení z pedigu

Získání vlastností stránky bylo vyřešeno dvoufázovým zpracováním. Stránka se nyní zpracovává ve dvou fázích.

Bezpečnost a provoz

Celý systém běží na oddělených virtuálních serverech bez přímého přístupu k hardwaru. Síť je nastavena tak, aby se z nich dalo dostat jen tam, kam se má. Použití Mozilly a řešení na Linuxu znamenalo extrémní zvýšení bezpečnosti proti Windows. Původní systém totiž běžel na Windows Serveru s Internet Explorerem, který denně navštívil necelých 100 tisíc náhodných stránek z internetu. Antivirové programy spolehlivě odstraňují pouze známé viry a u nových virů používají heuristiky. Původní systém postavený na Internet Exploreru překvapivě běžel dlouhou dobu bez dozoru.

Optimalizace webů pro náhledy a řešení podvodů

Seznam se setkává s pokusy o optimalizaci webů pro co nejlepší náhled, včetně podvodných praktik. Tyto případy se řeší individuálně.

Náhledy pro celý web a technologie Live Search od Microsoftu

Seznam oznámil, že nahradí u vyhledávání ve světě Google za technologii Live Search od Microsoftu. Mezi důvody patřila i možnost vkládání náhledů do výsledků od Live Search. Seznam uvažuje o náhledech pro celý web. Existuje plugin do Firefoxu, který do vyhledávačů přidává náhledy homepage. Vytvoření náhledů ve stejné kvalitě by nemělo být technologicky složité.

V původním generátoru byly náhledy identifikované skrze ID stránky v databázi, což znemožňovalo mít náhled pro URL, která v databázi nebyla. Nový systém identifikuje náhledy přes URL, a proto je schopen vytvářet náhledy pro libovolné adresy. Pokud náhled pro danou URL neexistuje, systém se snaží URL zkracovat, dokud nějaký náhled nenajde, v nejhorším případě skončí u náhledu homepage webu. Tím by se měly eliminovat chybějící náhledy ve vyhledávání.

Čtěte také: Uplatnění merino vlny

Aktualizace náhledů a mikroformáty

Pokud uživatel redesignuje svůj web a Seznam stále zobrazuje staré náhledy, záleží na návštěvnosti webu. U často navštěvovaných webů se náhled hlavní stránky aktualizuje v řádu dvou týdnů. U méně navštěvovaných webů je možné si nechat nové náhledy vygenerovat.

Vyhledávač Seznamu podporuje mikroformát geo. Seznam zkoumal situaci kolem mikroformátů a je schopen je rozpoznat na stránkách a přečíst z nich informace. Do katalogu Firmy.cz byly doplněny mikroformáty geo.

Integrace s IE8 a budoucí vývoj

Blíží se příchod IE8, který obsahuje vylepšené integrované vyhledávání s našeptávačem a podporou náhledů. Seznam zváží využití této novinky. U Zboží.cz jsou fotky produktů o řád menší, což by mohlo být pro našeptávač IE8 vhodnější.

Historie vyhledávání na Seznamu: Kompas

Jedním z prvních vyhledávačů na českém internetu byl Kompas, vytvořený v céčku. Vyhledávač se skládá ze dvou nezávislých částí: robota, který dodává stránky k zaindexování, a vlastního vyhledávače, který vytváří index z HTML stránek. Mezi Kompasem a současným vyhledávačem byla několik let propast, kdy Seznam používal Jyxo a další vyhledávače. Kompas byl vytvořen s Ivo Lukačovičem.

Testování a vývoj vyhledávače

Seznam používá automatické testy pro kontrolu funkčnosti komponent a aplikaci pro kontrolu kvality vyhledávání, která měří kvalitu vyhledávání na základě ručního hodnocení.

Do budoucna Seznam plánuje vyvíjet stávající verzi vyhledávače, což ale neznamená, že se nedělají velké změny. Vyhledávač se skládá z řady komponent a v případě potřeby se přepisují jednotlivé komponenty.

Unixová filozofie a nástroje pro práci s textem

Unixová filozofie spočívá v kombinování jednoduchých utilit k dosažení složitých cílů. Mezi základní unixové nástroje pro příkazovou řádku patří například cat, head a tail.

  • cat: Slouží ke spojení nebo vypsání obsahu souborů.
  • head: Zobrazuje prvních několik řádků souboru (výchozí počet řádků je 10). Pomocí přepínače -c lze vypsat určitý počet počátečních bytů.
  • tail: Zobrazuje posledních několik řádků souboru. Pomocí přepínače -f lze monitorovat soubor a postupně vypisovat obsah, který přibývá na jeho konec.

tags: #postup #siti #catu #návod

Oblíbené příspěvky: