www.seznam.cz … najdu tam, co neznám ! Petr Nevrlý Fulltextové vyhledávání www.seznam.cz … najdu tam, co neznám ! Obsah přednášky • Vyhledávání – Cíl vyhledávání – Architektura – Vyhledávání – Robot – Údaje z provozu • Novinky ve fulltextu za rok 2010 – Robot v3.0 – Termové hledání – Rozšířené hledaní www.seznam.cz … najdu tam, co neznám ! Cíl fulltextového vyhledávání • Poskytnout odpověď na dotaz uživatele www.seznam.cz … najdu tam, co neznám ! Cíl fulltextového vyhledávání • Poskytnout odpověď na dotaz uživatele – Shromažďování dat • Rychlý robot • Spolehlivá indexace • Zakládání „správných“ dokumentů – Zpracování • Vhodná architektura (rozšiřitelnost) – Vydání, řazení a prezentace • Výkon (rychlost) • Dostupnost • Konzistence • Kvalita a UX www.seznam.cz … najdu tam, co neznám ! Část 1 – Architektura ve zkratce 1. Hlavní části 2. Redundance v provozu 3. Blokové schéma www.seznam.cz … najdu tam, co neznám ! Hlavní části FTX www.seznam.cz … najdu tam, co neznám ! Hlavní části FTX – Redundance v provozu www.seznam.cz … najdu tam, co neznám ! Blokové schéma www.seznam.cz … najdu tam, co neznám ! Část 2 – Vyhledávání 1. Zadávané dotazy 2. Expanze dotazu 3. Hodnocení stránek www.seznam.cz … najdu tam, co neznám ! Zadávané dotazy (1) • 10 náhodných dotazů – kurzy boxu – brzdový válec java 125 – nokia c 5 recenze – blond sestrihy – seznam her na ps3 – poslat sms – wikipeda – okresni soud chrudim – mafia 2 auta – linkedin.com www.seznam.cz … najdu tam, co neznám ! Zadávané dotazy (2) • Forma dotazů: Nejedná se přímo o otázky – heslovité – překlepy – často bez diakritiky – 1. pád a podstatná jména www.seznam.cz … najdu tam, co neznám ! Hodnocení stránek (1) – onPage • Titulek • Obsah stránky • URL • Meta dascription www.seznam.cz … najdu tam, co neznám ! Hodnocení stránek (2) - offPage Citační analýza pro dotaz „Ostrava“ www.seznam.cz … najdu tam, co neznám ! Hodnocení stránek (3) • Pagerank = statická „důležitost“ stránky založená na citační analýze • Předpoklad: statisticky náhodné chování • SPAM, Gray&Black Hat SEO • celkově desítky signálů www.seznam.cz … najdu tam, co neznám ! Část 3 – Robot 1. Hledání nových stránek 2. Reindexace stránek 3. Ne-HTML formáty 4. offline výpočty www.seznam.cz … najdu tam, co neznám ! Hledání nových stránek (1) • Před 6 lety start • Procházení nalezených odkazů – Domény .cz, .sk, .com, .org, .net, .info, … • Hledá stránky v českém jazyce • Alternativní zdroje: RSS, sitemap, AddForm www.seznam.cz … najdu tam, co neznám ! Hledání nových stránek (2) • Robots.txt – standardní protokol pro zakázání přístupu robotů (www.robotstxt.org) • Textový soubor http://example.com/robots.txt # comment User-Agent: * Disallow: /statistiky User-Agent: Bot Disallow: / www.seznam.cz … najdu tam, co neznám ! Reindexace stránek (1) • Každý den se vybere množina stránek pro reindexaci • Při výběru se hodnotí – Datum poslední návštěvy – Rank (Srank) – Frekvence změn www.seznam.cz … najdu tam, co neznám ! Reindexace stránek (2) • Přetěžování webserverů – Shapování podle IP adresy – Omezení max počet URL / sec – Limity na straně serveru (v robots.txt) www.seznam.cz … najdu tam, co neznám ! Ne-HTML formáty • konverze do html • PDF • DOC (MS Word) • RTF • PPT • Operátor filetype: www.seznam.cz … najdu tam, co neznám ! Část 4 – Aktuální údaje z provozu www.seznam.cz … najdu tam, co neznám ! Velikost databáze (1) Počet dokumentů 340 miliónů Indexy 1,7 TB Obsah dokumentů (texty) 1,4 TB Průměrný text 6 kB / dokument www.seznam.cz … najdu tam, co neznám ! Zátěž během týdne • 1/4 zátěže • max ~480 dotazů/s www.seznam.cz … najdu tam, co neznám ! Doba odezvy během týdne • Doba odezvy v msec www.seznam.cz … najdu tam, co neznám ! Úspěšnost query cache • Úspěšnost cache v % www.seznam.cz … najdu tam, co neznám ! Výkon robota Rychlost stahování > 450 stránek / sec Průměrná stránka ~11 kB (zdrojový kód) Denní objem ~40 miliónů dokumentů cca 410 GB dat www.seznam.cz … najdu tam, co neznám ! Stáří dokumentů ve dnech Minimální <1 Maximální 135 Průměr 5,7 Nejčastěji 1,2 – 9,5 www.seznam.cz … najdu tam, co neznám ! Novinky v roce 2010 • Termové hledání • Rozšířené hledání • Robot v3.0 www.seznam.cz … najdu tam, co neznám ! • Návaznost na OR + expanze dotazu (2009) • Hlavní změnou - rušení lemmatizace • indexujeme neupravená slova • rozhodnutí o slovu a dotazu až při hledání Termová verze vyhledávání www.seznam.cz … najdu tam, co neznám ! Expanze dotazu • Lemma = základní tvar slova • Věta: „Jeden z nejlepších zdrojů o německých tancích.“ • Lemmatizováno: Jedna/Jíst z dobrý zdroj o německý tank/tanec. • Disambiguace = vyloučení nejednoznačnosti www.seznam.cz … najdu tam, co neznám ! Nové hledání Staré hledání OR, expanze dotazu Query: „Vysoká škola ekonomická v Praze“ www.seznam.cz … najdu tam, co neznám ! Rozšířené hledání • zprostředkování interní funkčnosti www.seznam.cz … najdu tam, co neznám ! Robot v3.0 (2010) www.seznam.cz … najdu tam, co neznám ! Robot v2.x www.seznam.cz … najdu tam, co neznám ! Robot (2.x vs. 3.0) • konec inkrementální indexace • CAP theorem – r. 2000 (Brewer) • storage 28 serverů – 3x replikace partition tolerance availabilityconsistency www.seznam.cz … najdu tam, co neznám ! Robot v3.0 • v testu (od ledna 2011 venku) • storage Hbase – Bigtable-like – MapReduce • Hadoop (HDFS) – Open Souce – reimplementace Google FS – velké soubory (512MB) – místo RAID je replikace www.seznam.cz … najdu tam, co neznám ! Robot v3.0 www.seznam.cz … najdu tam, co neznám ! www.seznam.cz … najdu tam, co neznám ! Konec Děkuji za pozornost http://fulltext.sblog.cz www.seznam.cz … najdu tam, co neznám ! www.seznam.cz … najdu tam, co neznám ! „Bonusy“ 1. TOP 10 dotazů 2. o optimalizaci www.seznam.cz … najdu tam, co neznám ! Top 10 dotazů r. 2009 1. "" 2. youtube.com 3. libimseti.cz 4. superhry 5. o2 6. freevideo 7. facebook 8. aukro.cz 9. google 10.porno r. 2008 1. "" 2. youtube 3. libimseti.cz 4. superhry 5. freefoto 6. freevideo 7. redtube.com 8. sms zdarma 9. google 10.porno r. 2010 1. "" 2. facebook.com 3. youtube 4. super hry 5. freevideo 6. idos 7. aukro 8. google 9. super hry 10.sms zdarma www.seznam.cz … najdu tam, co neznám ! SEO (search engine optimalization) 1. URL 2. Obsah stránky 3. JavaScript a Flash www.seznam.cz … najdu tam, co neznám ! URL • Vhodně zvolená doména –www.csas.cz –www.ceskasporitelna.cz • Optimalizované URL a rewrite –super.cz/index.php?clid=18656 –novinky.cz/vladni-spis-jak-zabranit-uniku- informaci-na-internet-unikl-na-internet • Minimalizovat duplicity!! www.seznam.cz … najdu tam, co neznám ! Obsah stránky • Titulek –Důležitá součást stránky –Unikátní na každé stránce • Text –Správně používat sémantické značky –Nepoužívat text jen na obrázku www.seznam.cz … najdu tam, co neznám ! JavaScript a Flash • Robot neumí procházet přes: –formuláře –JavaScript navigaci –Flash presentace –JavaScript přesměrování • Textová alternativa k dynamické navigaci www.seznam.cz … najdu tam, co neznám ! Konec (2)