MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY

•P

%, \J/ &

Metody metasearch vyhledávání

BAKALÁŘSKÁ PRÁCE

Jan Walter

Brno, jaro 2008 Prohlášení

Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.

Vedoucí práce: Mgr. Matěj Štefánik

11 Poděkování

Touto cestou děkuji vedoucímu práce Mgr. Matěji Štefánikovi za odborné vedení, konzultace a připomínky. Shrnutí

Cílem bakalářské práce je provést analýzu současných vyhledávacích tech­ nologií se zaměřením na metavyhledávání a na základě získaných znalostí vytvořit dynamický portál pro vyhledávání na Internetu, který bude umož­ ňovat vyhledávání pomocí zadaných vyhledávačů a poskládání vyhledá­ vačů do vlastního metavyhledávače.

IV Klíčová slova vyhledávač, metavyhledávač, vyhledávání, portál, PHP, PostgreSql, Apache, HTML, CSS

v Obsah

Obsah 1 Úvod 2 1 Typy vyhledávání 3 1.1 Fulltextové vyhledávání 3 1.2 Personalizované vyhledávání 3 1.3 Sociální vyhledávání 4 1.4 Vertikální vyhledávání 4 2 Metavyhledávání 5 3 Metavyhledávače 7 3.1 Brainboost 7 3.2 Clusty 7 3.3 9 3.4 10 3.5 HotBot 11 3.6 Info.com 11 3.7 Ixquick 12 3.8 Krozilo 12 3.9 Zhodnocení metavyhledávaču 13 4 Portál metavyhledávání 14 4.1 Analýza systému 14 4.1.1 Analytický model tříd 14 4.2 Návrh systému 15 4.2.1 Návrhový model tříd 15 4.2.2 Databáze 17 4.3 Implementace systému 20 4.3.1 Vyhledání odkazů vyhledávačem 21 4.3.2 Vyhledání odkazů metavyhledávačem 21 4.3.3 Bezpečnost 22 Závěr 23 Literatura 24 A Scénáře případů užití 25 B Obsah přiloženého CD 31

1 Úvod

Již před vznikem služby WWW1 a masovém rozšíření internetu vývojáři řešili, jak vyhledávat soubory uložené na různých serverech. Tehdy ještě nevznikly vyhledávače jak je známe dnes. Jednalo se o samostatné služby internetu jako Archie, Nosey Parker, WAIS nebo Veronica [ ]. Nevýhodou těchto služeb byla nutná znalost spousty serverů, na kterých chtěl uživatel hledat, protože se hledalo buďna jednom nebo maximálně na několika spřá­ telených serverech. V roce 1993 vznikl první vyhledávač pro web - , který však stále nebyl vyhledávačem, jako si pod tímto slovem představíme dnes. Sám o sobě stránky nevyhledával a neindexoval. Databázi vytvářeli sami uživatelé, kteří zadávali jak adresy k stránkám, tak klíčová slova, která je popisovala. O rok později vznikly další vyhledávače, které si už samy sestavovaly databázi stránek a uživatelé se je naučili používat čím dál více. Dnes již existuje celá řada vyhledávačů a je na uživateli, který použije, aby se zorientoval v obrovské zásobárně informací, kterou dnes internet je. Avšak právě rostoucí počet vyhledávačů dále zesložiťuje prostředí inter­ netu a uživatelé se opět hůře orientují v tom, který vyhledávač na co použít. Proto vznikly metavyhledávače, o kterých se dá říci, že jsou vyhledávači nad vyhledávači. Uživatel má možnost používat pouze jeden metavyhledávač, aby se dostal k odpovědím z mnoha vyhledávačů. V první kapitole se zabývám jednotlivými typy vyhledávání, které se dnes na internetu používají. Metodě metavyhledávání jsem zasvětil samo­ statnou následující kapitolu. Třetí kapitola srovnává několik vyhledávačů, které lze na internetu používat. V další kapitole jsem shrnul zjištěné obecné principy fungování metavyhledávačů. Poslední kapitola popisuje vznik mého portálu, který sdružuje informace o metavyhledávání, je rozcestní­ kem k metavyhledávačům, a zároveň umožňuje přímo ze svého prostředí přistupovat k metavyhledávačům a s jejich pomocí vyhledávat.

1. World Wide Web

2 Kapitola 1 Typy vyhledávání

1.1 Fulltextové vyhledávání

Fulltextové vyhledávače webových stránek jsou na Internetu nejběžnější a také nejpoužívanější. Patří jsem například vyhledávače .com, Se- znam.cz nebo Yahoo.com. Základem těchto vyhledávačů je program, větši­ nou nazývaný robot, který prochází webové stránky a ukládá jejich adresy. Každou nalezenou adresu se pokusí navštívit, a pokud se mu to podaří, projde její obsah a ten uloží do databáze. Přesný způsob jak roboti fungují vyhledávače tají, aby tvůrci webů neměli snadnou cestu dostat se na přední příčky výsledků vyhledávání. Databáze funguje jako velký rejstřík internetu. K jednotlivým slovům uložených v databázi je připojen seznam stránek, na kterých bylo dané slovo nalezeno [11]. Po zadání dotazu vyhledávač tuto databázi projde a snaží se v ní najít nejvhodnější stránky, které by dotazu vyhovovaly. Tento proces je pro každý vyhledávač vlastní, stejně tak, jako furmulace dotazu a používání různých logických operátorů.

1.2 Personalizované vyhledávání

Personalizované vyhledávání umožňuje uživateli nastavit si vyhledávač podle sebe a tak ho lépe používat. Prvním krokem k personalizaci je napří­ klad možnost v nastavení vyhledávače zvolit svou zemi, jazyk, popřípadě zájmy. Tyto informace jsou často ukládány v počítači, v souborech zvaných „cookies". Dnešní vyhledávače jdou však dál a uživateli nabízejí možnost registrace, čímž uživatel získá další výhody při hledání. Především jde o his­ torii vyhledávání, díky které uživatel ví, co již hledal a vyhledávač z tohoto může získávat informace o zájmech uživatele a snažit se směrovat výsledky pro něj zajímavé na přední pozice, navíc vyhledávač tak dokáže lépe smě­ rovat reklamu. Takto se z historie učí třeba vyhledávač Google.

3 1. TYPY VYHLEDÁVÁNÍ

1.3 Sociální vyhledávání

Sociální vyhledávání se narpzfíl od personalizovaného nazajímá o to, kdo uživatel je, ale koho zná. První, kdo takový vyhledávač uvedl do praxe, byla malá firma Eurekster . Eurekster využívá svou vlastní sociální síť, ve které si uživatelé mohou hledat nové známé a kamarády Princip vyhledávání na Eurekster.com spočívá ve filtrování výsledků hledání podle toho, co hledali a našli uživatelé nějak spojení s hledajícím. Jestliže uživatel najde odpověď na svůj dotaz až na konci seznamu vý­ sledků, je kamarád, který bude hledat to stejné, najde odpověď na začátku seznamu [7].

1.4 Vertikální vyhledávání

Na internetu je dnes již tolik informací, že se lidé začínají zajímat o speciali­ zované vyhledávače na jednu konkrétní oblast lidské činnosti. Je to přede­ vším proto, že obecné vyhledávače vracejí příliš mnoho výsledků z mnoha oblastí, a aby se uživatel dostal jen k těm, které skutečně potřebuje, musí sestavit složitý dotaz z mnoha klíčových slov. Tento problém odpadá při použití tzv. vertikálních vyhledávačů, které se zaměřují jen na konkrétní typ obsahu internetu. Vertikální vyhledávání se již uchytilo i u velkých vy­ hledávačů jako je Google nebo Yahooo. Především pro hledání obrázků, hudby nebo zpráv již není třeba na těchto vyhledávačích sestavovat složité dotazy, ale jen zvolit, že pro daná klíčová slova hledáme obrázek, hudbu nebo novinové články.

1. http://www.eurekster.com/

4 Kapitola 2

Metavyhledávání

Pro metavyhledávání je také důležitý nějaký index nebo katalog webových stránek či informací. Metavyhledávač však tuto databázi neudržuje, ale vy­ užívá databáze jiných vyhledávačů. Jelikož se indexy jednotlivých fulltexto­ vých vyhledávačů překrývají jen minimálně, můžeme s pomocí metavyhle- dávačů nalézt mnohem více informací za zlomek času. Z toho vyplývá, že jen s pomocí kombinování výsledků ze dvou vyhledávačů bude metavyhle­ dávač užitečnější, než jeden vyhledávač. Metavyhledávače však jdou dál a snaží se uspořádat výsledky tak, aby pořadí bylo co nejrelevantnější. Pokud metavyhledávač umí hledat pomocí mnoha vyhledávačů, musí také umět vybrat ty, které jsou pro daný dotaz nejlepší. Kdyby chtěl použít všechny, zabralo by to příliš mnoho času, při kterém se může stát cokoliv, třeba i odchod uživatele, který již nechce čekat. Architektura metavyhledávače se dá rozdělit na tři moduly [6]: • Odbavovací modul má za úkol převzít dotaz od uživatele a vybrat ty vyhledávače, na které bude dotaz směřován. Toto se může dít plně automaticky nebo s pomocí uživatele. • Transakční modul distribuuje dotaz na jednotlivé vyhledávače a od nich přebírá odpovědi, které následně parsuje. • Prezentační modul zobrazuje odpovědi uživateli. Před samotným zobrazením ještě odstraní duplicity, případně provede další činnosti jako třeba ověření, zda daný odkaz ještě funguje. Pokud je odbavovací modul automatický, je tou nejsložitější částí me­ tavyhledávače. Data na vyhledávačích se totiž neustále mění, a tak není jednoduché rozhodnout, které vyhledávače pro daný dotaz použít. Meta­ vyhledávač si sestavuje tzv. metaindex, ve kterém má uloženo, jak jednotlivé vyhledávače odpovídaly v minulosti, a jak se k výsledkům stavěl uživatel. Více ke konstrukci metaindexu viz [6]. Transakční modul potřebuje znát, jak předat dotaz vyhledávači. Nejčas- těji se jedná o URL adresu s několika parametry, jimiž se předává dotaz.

5 2. METAVYHLEDÁVÁNÍ

V podstatě je to stejná adresa, jako se vygeneruje odesláním formuláře na stránce vyhledávače. Vyhledanou stránku si metavyhledávač načte a pak pomocí svého parseru, např. pomocí regulárních výrazů, vytáhne ze stránky URL adresy jednotlivých odkazů, jejich názvy a popis. Všechna tato data si uloží do paměti a předá práci prezentačnímu modulu. Zobrazení výsledků, které obstarává prezentační modul, se může řídit různými faktory. Jedním z možných je použití metaindexu, kdy se na prv­ ních pozicích zobrazují odkazy od vyhledávačů, které jsou v metaindexu nejlépe hodnoceny. Další možností je použití hodnocení relevance dílčích vyhledávačů. Seřazení výsledků vyhledávání je obecně velmi složitý pro­ blém a každý metavyhledávač to dělá po svém stejně tak, jako běžné full­ textové vyhledávače.

6 Kapitola 3 Metavyhledávače

3.1 Brainboost

Brainboost1 byl vytvořen pro zodpovídání otázek v přirozeném jazyce, ke kterému užívá strojové učení a technologie umělé inteligence pro zpraco­ vání přirozeného jazyka [8]. Dnes patří Brainboost pod Answers Corpo­ ration, která se snaží na jedné stránce sjednocovat odpovědi na rozličné otázky Samotný Answers.com už ale není metavyhledávač, protože k zod­ povídání využívá vlastní databázi, kterou buduje z různých publikací a encyklopedií. Brainbost použije otázku, kterou uživatel zadal do formuláře pro vygenerování různých dotazů, jimž rozumí běžné vyhledávače a ty jim odešle. Zpět dostane seznam stránek, kde by se mohla vyskytovat odpo­ věď na položenou otázku. Stránky seřadí podle jeho vlastního AnswerRank algoritmu a zobrazí je uživateli. Ne vždy Brainboost vrátí odpovědi ve správném pořadí podle relevant­ nosti. Uživatelé ale mohou odpovědi ohodnotit kladným nebo záporným bodem, a tak se Brainboost učí odpovídat lépe. Na většinu otázek, které musí být v angličtině, ale odpovídá výborně.

3.2 Clusty

Metavyhledávač Clusty2 vyvíjí společnost . Na vyhledávači je pře­ devším zajímavé seskupování výsledků tzv. clustering [9]. Uživatel zadá dotaz do formuláře, Clusty dotaz zpracuje a předá ho dalším vyhledáva­ čům. Konkrétně těmto: • Ask, , MSN Live, Open Directory, Wikipedia pro prohledá­ vání webu • NY Times, CNN, Reuters, Yahoo! News a Yahoo! News Search pro prohledávání zpráv

1. http://www.brainboost.com 2. http://www.clusty.com

7 3. METAVYHLEDÁVAČE ^m^ Top 159 results of at least 73,500 retrieved for the query fakulta informatiky MU (details)

Studium v zahraničí All Results (160| Rok na střední škole a univerzitě USA, Francie, Španělsko. Německo - >.wvw.studentager O University (29) Search Results O Botanická 68a (20> Faculty of Informatics B^s O Informatics, Muni|i6i MU > Fl ... 2006 Masaryk University | Žerotínov i. 9. 601 77 Brno | All rights reserved O Masarykovy univerzity [log www.muni.cz/fi - [cache] - Live. Ask. Gigablas

O Fakulta elektrotechniky r: 2 Fakulta informatiky MU B<\® O Katedra, Ekonomicko spr; Brno is the second largest city in the Czech Republic and the first one in Moravia i in important university o re eleven universitii fakulta in) Masaryk ... www.fi.muni.cz/ceoi/Location.xhtml - [cache] - Live O Sociálních studií {3} O Na Fakultě informatiky pí 3 WebArchiv - Contacts 6<\« O Conference (7) Lukáš Matějka (Faculty of Informatics. MU Brno) Martin Bella (Fakulta informatiky MU Brno) Adam Brokeš (Faculty of Informatics. MU Brno) Petr Šimkovič (Faculty of Informatics ... ORNDriTi en.webarchiv.cz/contacts - [cache] - Live. Ask

4 7. filmový festival | Fakulta informatiky, MU e <\ S FF - LEMMA | Stránky Filmového festivalu Masarykovy univerzity Fakulty informatiky v Brně www.fi.muni.cz/lemma/festival/07 - [cache] - Live

5 Fakulta informatiky © ^ S> ... PdF a Pěveckého sboru MU Jarní koncert české sborové tvorby v podání Pěveckého sboru PdF. Pěveckého sboru MU a hostů se Přírodovědecká "Filozofická Font size: A [Ä] A A "Pedagogická. "Ekonomicko-správní "Informatiky "Sociálních studií. "Sportovních studií. ... www.muni.cz/fi?page-width=free&lang=cs - [cache] - Gigablast

Obrázek 3.1: Výsledky hledání metavyhledávače Clusty

• Picsearch pro vyhledávání obrázků • BlogPulse, Blogdigger, Feedster a Technorati pro prohledávání blogů • BizRate a Shopzilla pro vyhledávání zboží • Indeed pro vyhledání pracovních nabídek Odpovědi, které získá od těchto vyhledávačů, setřídí do kategorií a pře­ hledně je zobrazí uživateli. Jak je vidět na obrázku 3.1, v levém sloupci je seznam kategorií, který lze v případě potřeby remixovat, aby se ukázaly kategorie, které nám vyhovují. Pro větší přehlednost jsou některé kategorie zanořeny do obecnějších. Pod záložkou sources se skrývá řazení podle vyhle­ dávačů, které danou položku našly a pod sites se lze k jednotlivým odkazům dostat přes strom domény od jejího nejvyššího řádu (např. cz —• muni.cz —• fi.muni.cz —• www.fi.muni.cz). Vpravo od sloupce se zobrazují výsledky hledání. U každého odkazu je uveden i zdrojový vyhledávač, který ho našel a dokonce i odkaz na cache. Jedná se vlastně o odkaz do projektu Internet Archive3, který od roku 1996 archivuje webové stránky, aby informace na nich kdysi uvedené, nemizely. Clusty dává uživateli možnost svůj dotaz ještě zpřesnit pomocí dalších voleb hledání. Uživatel může hledání omezit jen na určitou doménu, typ dokumentu, vyhledávat jen v určitém jazyku (čeština narozdíl od slovenštiny chybí), nastavit počet kategorií, které bu­ dou vytvořeny a povolit či zakázat rodičovský filtr, který se snaží z výsledků odstranit stránky nevhodné pro děti.

3. http://web.archive.org 3. METAVYHLEDÁVAČE

První verzi algoritmu, který má za úkol roztřídit výsledky vyhledávání do kategorií, vyvinuli na Carnegie Mellon University Tento algoritmus zdo­ konalili vědci ve Vivisimu. Vznikla tak verze Clustering 1.0 a na začátku tohoto roku byla spuštěna verze 2.0.

3.3 Dogpile

Dogpile4 vychází z myšlenky, že různé vyhledávače dávají na stejnou otázku různé odpovědi [ ]. K vyhledávání používá tyto vyhledávače [2]:

• Prohledávání webu - Google, Yahoo! Search, Live Search, Ask.com, About, MIVA, LookSmart • Hledání obrázků - Yahoo! Search a Ditto • Hledání audia, především souborů MP3 - Yahoo! Search a Singingfish • Hledání videa - Blinkx • Prohledávání novinových článků - ABC News, Yahoo! News, Fox- News a Topix • Vyhledávání telefonních čísel - Intelius

Vyhledávání lze zpřesnit tak, aby Dogpile hledal stránku, kde se vyskytují všechna uvedená slova, přesná fráze, jakékoliv uvedené slovo nebo se tam uvedená slova nevyskytují. Tyto volby lze samozřejmě kombinovat, a tak vyhledávači předat relativně přesný dotaz. Bohužel nastavení jazyka vy­ hledaných stránek je omezeno jen na západoevropské jazyky. Omezení na češtinu je možné pouze pomocí zadání domény, kterou chceme prohledat, tedy doménu cz, což je nedostatečné, protože spousta českých stránek se vy­ skytuje mimo tuto doménu. Vyhledané odkazy Dogpile přehledně zobrazí (viz obr. 3.2) v seznamu a u každé položky uvádí, na kterém vyhledávači daný odkaz našel. Bohužel mezi výsledky míchá i sponzorované odkazy (reklamu), která není na první pohled nijak označena. Jen poslední řádek popisu začíná slovy „Sponsored by:". Odkazy jsou řazeny podle počtu vy­ hledávačů, které je našly a potom podle umístění mezi výsledky konkrét­ ního vyhledávače. Hledání se Dogpile snaží ulehčit napravo zobrazeným rámečkem Are you looking for?, který se snaží předcházet překlepům a zá­ roveň ukazuje jiné relevantní dotazy. Pod tímto rámečkem je ještě rámeček obsahující poslední položené dotazy. Pamatuje si jich až patnáct.

4. http://www.dogpile.com

9 3. METAVYHLEDÁVAČE

dttgpile*

Web Search Results for "metasearch" Search Filter: '•••zzři s-.ř Now Searching Google Yinoo!*tARCH f UwSearch

1 - 20 of 64 from All Search Engines (About Results) 1 I 2 I 3 |4 Next>

1. Ixguick Metasearch Are you looking for? Ixquick offers high quality meta-search results in full privacy! Mamma www.ixquick.com/ [Found on Google, Windows Live, Yahoo! Search, Ask.com] Top Ten Search Engines 2. Search Enqens Repair: Phishinq Fix search engens Takes only 3 Mins. Sponsored by: Errorsmart.com [Found on Ads by Yahoo!] Doqpile

3. - Wikipedia, the free encyclopedia Best A meta-search engine is a search engine that sends user requests to several Metacrawler other search engines and/or databases and aggregates the results into a single en wikipedia org/wiki''Metasearch_engine [Found on Google, Windows Live. Yahoo' Search, Ask.com] Metasearch Definition 4. Goobony - Energy Conserving Search Site Extend The Life Of Your Laptop Battery. Optimized For Mobile. Goobony. Sponsored by Goobony com/about [Found on Ads by Yahoo!]

5. Metasearch by Widow - Web Search, Image Search, Blog Search Recent Searches and more. fakulta informatiky Provides search by words or phrase and directory taken from the Open Directory. Includes straightforward interface that makes it easy to select search ... :::r.i: www.widow com/ [Found on Google, Windows Live, Yahoo! Search, Ask.com] fakulta informatiky mu 1 Obrázek 3.2: Výsledky hledání metavyhledávače Dogpile

3.4 Excite

Excite5 je internetovým portálem, který nabízí různé služby včetně vyhle­ dávání, e-mailu a přizpůsobitelné hlavní stránky Obsah je poskládán z více než sta různých zdrojů a uživatel si může nastavit, jaké informace se mu budou zobrazovat, a tak si poskládat vlastní úvodní stránku. Při vyhledávání si uživatel může zvolit, zda chce vyhledávat na webu, obrázky, zprávy, video nebo audio. Pro vyhledávání používá tyto vyhledá­ vače: • Web: Google, Yahoo! Search, Ask, About, Yahoo! Search Marketing, Miva • Obrázky: Yahoo! Search • Audio: Yahoo! Search • Video: Truveo, Yahoo! Search • Zprávy: Yahoo! News, Topix News Na stránce s výsledky je kromě výsledků zobrzen i rámeček Are you looking for s možnými frázemi, které by uživatel mohl hledat a rámeček Recent Searches, kde jsou zobrazeny poslední hledané fráze. Zobrazení výsledků

5. http://www.excite.com

10 3. METAVYHLEDÁVAČE je možné nastavit a to nejen počet výsledků na jedné stránce, ale i jejich uspořádání. Excite si bohužel nerozumí s českou diakritikou, a tak je jeho použití pro české uživatele omezené.

3.5 HotBot

HotBot6 byl jedním z prvních vyhledávačů na Internetu [ ]. Dnes funguje pouze jako brána k vyhledávačům Ask, MSN a LyGo. Uživatel si musí vybrat, který vyhledávač pro vyhledávání použije. HotBot tak zobrazuje odkazy pouze od jednoho vyhledávače a je na uživateli, aby si případně nechal vyhledat odpověď na svůj dotaz od jiného vyhledávače. Na stránce s výsledky zobrazuje hned pod vyhledávacím formulářem několik sponzorovaných odkazů a pod nimi seznam nalezených odkazů. Seznam odkazů je řazen stejně jako na dílčích vyhledávačích. Samotné uži­ vatelské rozhraní nijak nevybočuje. Je spíše průměrné a uživatele nijak nepřitáhne.

3.6 Info.com

Info.com™7 používá k zodpovězení dotazu až 14 vyhledávačů včetně Go­ ogle, MSN Live, Ask, LookSmart, About a Open Directory [ ]. Kromě pro­ hledávání webu je možné vyhledávat i ve specifických oblastech, jako jsou zprávy, obrázky, audio soubory, pracovní nabídky, letenky, hotely, infor­ mace o zdraví, vědecké informace, video a inzeráty. Zajímavou vlastností je možnost zadávat dotazy přímo z adresní řádky prohlížeče a to jako jednu adresu ve tvaru to.co.hledam.info.com. Vyhledávač tak uživatele nezdržuje zobrazením úvodní stránky, ale zobrazí přímo výsledky hledání. Bohužel je vyhledávač orientován více na americký internet a tak lze třeba inzeráty prohledávat jen ty americké, což platí i o telefonních číslech. Jazykovou podporu nabízí pouze pro západoevropské jazyky. Samotné grafické zobrazení výsledků se nijak neliší od zažitého stan­ dardu, jen není vidět, ze kterého konkrétního vyhledávače pochází jednot­ livé výsledky.

6. http://www.hotbot.com 7. http://www.info.com

11 3. METAVYHLEDÁVAČE

3.7 Ixquick

Metavyhledávač Ixquick8 prohledává web pomocí osmi vyhledávačů, se kterými si výborně rozumí, což dokazuje jeho schopnost porozumět jaké­ mukoliv běžně používanému způsobu zadávání dotazů do vyhledávače, které následně vyhodnotí a předá je vyhledávačům v podobě, kterou sami podporují. Ixquick vyhledává v jakémkoliv z osmnácti podporovaných ja­ zyků. Neomezuje se tedy jen na západní Evropu, ale zvládá třeba i čínštinu nebo japonštinu. Čeština zatím bohužel chybí, ale českou diakritiku podpo­ ruje. Ixquick se stejně jako jiné metavyhledávače nezaměřuje pouze na web, ale umí vyhledávat telefonní čísla nejen v USA, ale i v jiných zemích, a samozřejmě video a obrázky. Používané vyhledávače: • Web: All the Web, Ask/, CNN Search, EntireWeb, Exalead, Gi­ gablast, MSN, NBC, Open Directory, Qkport, Wikipedia, Winzy, Yahoo • Video: blinkx • Obrázky: zdroj neuvádí • Telefonní čísla: zdroj neuvádí Výsledky zobrazuje podle umístění ve vyhledávačích a také podle počtu vyhledávačů, které je vrátily. Výsledky hodnotí hvězdičkami, aby toto řa­ zení bylo více viditelné (viz obr. 3.3). Výbornou funkcí je tzv. předmětové seskupování odkazů (Subject Clustering), díky kterému si uživatel může buď odfiltrovat odkazy, které ho nezajímají nebo zobrazit podobné odkazy k odkazu, který ho zajímá. Funguje to pomocí symbolů /a X. Po kliknutí na /se zobrazí podobné odkazy a po kliknutí na X se podobné odkazy odfiltrují.

3.8 Krozilo

Krozilo9 není jen metasearch strojem, ale virtuálním prohlížečem. Pomocí technologií AJAX a DHTML nabízí uživateli personalizovanou hlavní stránku, podobně jako iGoogle nebo My Yahoo!, která je rozdělena do tří vertikálních částí, z nichž v obou postraních jsou jednotlivé moduly jako kalendář, RSS čtečka, poznámky, e-mailový klient, předpověď počasí, metasearch a pří­ padně další služby definované uživatelem. V prostřední části se zobrazují

8. http://www.ixquick.com 9. http://www.krozilo.com/

12 3. METAVYHLEDÁVAČE

iWEB Ä All the Web Q Gigablast $ Wikipedia ©INTERNATIONAL PHONE DIRECTORY ® EntireWeb ® MSN ©Yahoo ©VIDEO ® Exalead © Open Directory ixquick ©PICTURES JL Ifakulta informatikinformatil- y | | SEARCH | MYS

Did you mean: faculty informatica Tip: Find out who called with just a phone number >> Learn more 43 unique top-ten pages selected from at least 280,982 matching results See your ad here..

Literární akademie Studijní programy BcA., Mgr., MgA., Publicistika, Tvůrčí psaní. www.lit-akad.cz Metropolitní univerzita Praha. Dříve Vš veřejné správy a mezinárodních vztahů. Získejte Ph.D www.mup.cz

Faculty of Informatics -fr-fr Fakulta informatiky Masarykovy univerzity, skočit na obsah skočit na menu ... Fakulta informatiky s více než 2200 studenty nabízí široké spektrum studijních www.fi.muni.cz Highlight - 4 more top results from this site - Found by Gigablast (1), Yahoo (1)

Faculty of Informatics ttVX Masaryk University (Brno, Czech Republic) ... Overview of publishing activities. Admission procedure. Calendar of events. Faculty WWW pages www.muni.cz/fi Highlight - 7 more top results from this site - Found by All the Web (1), Yahoo (2)

Obrázek 3.3: Výsledky hledání metavyhledávače Ixquick webové stránky Metasearch používá vyhledávače MSN, Yahoo!, Google a ruský Yandex. Uživatel si může vybrat, které vyhledávače chce použít a i ve výsledcích vidí, které vyhledávače vrátili konkrétní odkaz. Výsledky jsou řazeny podle pořadí na zdrojových vyhledávačích. Krozilo je ruský projekt, který vznikl v létě 2007 a kromě ruštiny je dostupný i ve francouzštině, španělštině a angličtině.

3.9 Zhodnocení metavyhledávačů

Každý z popisovaných metavyhledávačů je něčím výjimečný Většina z nich používá k vyhledávání podobné nebo stejné vyhledávače, ale liší se právě v přístupu k těmto vyhledávačům, zpracování výsledků a komfortu pro uži­ vatele. Uživatel jistě ocení možnost vyhledávat v několika vyhledávačích najednou a vidět všechny výsledky pohromadě, ale práci mu jistě zpříjemní historie hledaných výrazů, rozdělování výsledků do kategorií nebo návrhy možných dotazů, kdy metavyhledávač odhadne na základě zadaného do­ tazu, co uživatel asi hledá a nabídne mu případné další dotazy. Stinou stránkou některých metavyhledávačů je míchání sponzorova­ ných odkazů s výsledky hledání. Sice jsou tyto odkazy označeny, ale ne nijak výrazně a uživatel na první pohled nepozná, že se jedná o reklamu.

13 Kapitola 4

Portál metavyhledávání

Cílem systému je zpřístupnit uživatelům možnosti metavyhledávání v čes­ kém prostředí. Systém nabídne jak rozhraní pro vyhledávání pomocí jiných vyhledávačů, tak i vlastní metavyhledávač. Systém bude fungovat jako dy­ namický webový portál, kde se uživatelé budou moci registrovat, přidávat vlastní vyhledávače a sestavovat vlastní metavyhledávače.

4.1 Analýza systému

Systém nabízí uživatelům dvě možnosti, jak vyhledávat. Za prvé s použi­ tím běžných vyhledávačů, ke kterým poskytuje rozhraní a zobrazuje jejich výsledky ve svém prostředí. Za druhé pomocí metavyhledávačů, které vyu­ žívají ostatní vyhledávače a mohou být například tematicky členěny. Každý uživatel se může v systému registrovat a následně přidávat vlastní vyhledá­ vače a tvořit si tak i svůj metavyhledávač. Přesné případy užití systému jsou uvedeny na diagramu 4.1. Scénáře jednotlivých případů užití jsou rozpra­ covány v tabulkách v příloze A. Případy užití Správa vyhledávačů a Správa metavyhledávačů jsou rozpracovány jako diagramy aktivit na obrázcích 4.2 a 4.3. Oba případy užití zachycené diagramy aktivit jsou si podobné, takže popíši pouze Správu vyhledávačů. Po spuštění případu užití se uživateli zob­ razí seznam vyhledávačů a uživatel může zvolit ze čtyř operací: vytvoření, smazání, editace a zveřejnění vyhledávače. Zveřejnění vyhledávače je jedno­ duchá akce. Ostatní operace jsou složitější a jsou znázorněny dvěmi akcemi, pro přehlednost ohraničenými tzv. plaveckými drahami. Po skončení všech operací je uživatel vrácen zpět na seznam vyhledávačů.

4.1.1 Analytický model tříd Uživatele v systému představuje třída User, která je asociována se třídami SearchEngine a MetasearchEngine. Tyto třídy představují vyhledávač a me­ tavyhledávač. Třída SearchEngine zpracovává dotaz uživatele, kontaktuje zdrojový vyhledávač a od něj si stáhne stránku s výsledky, kterou následně

14 4. PORTÁL METAVYHLEDÁVÁNÍ

•'•:•: . lil MetaPortál

Návštěvník v\ebu A

R egi strova ný uživatel A Administrátor

Obrázek 4.1: Diagram případů užití parsuje a vytváří tak seznam odkazů reprezentovaný třídou LinkList. Třída MetaSearclí vytváří také seznam odkazů LinkList, ale pro její vytvoření po­ užívá vyhledáče typu SearchEngine, který vrátí seznamy odkazů a metavy- hledávač pouze přidá do svého seznamu odkazů další seznam zavoláním metody addListi). Seznam odkazů potom projde vkládaný seznam a pone­ chá si pouze ty odkazy, které mají jinou adresu URL. Diagram analytického modelu je na obrázku 4.4

4.2 Návrh systému

4.2.1 Návrhový model tříd

Analytický model tříd jsem rozšířil o třídu Dispatcher, která bude volat jednotlivé metody objektů podle aktuálního požadavku uživatele. Dále při-

15 4. PORTÁL METAVYHLEDAVÁNI

•• 1.1 • -1

1 $ť4 Zobrazen í seznamu vyhledávačůD 5Žádos t o zveřejnění výběr operace S f

F'rid Jill vyli edávače Úprava vy iledávače Sni azání vyhledávače v v V CZadán í údajů o vyhledávači j Změna údajů o vyhledávaa ŕDota z na potvrzení smazání v Potvrzení vložení I Potvrzení úpravy J Smazání vyhledávače -)

Obrázek 4.2: Diagram aktivit Správy vyhledávačů

nud Paradgrníar UML S^.ndľd C'J(un!\ljM-i> UnMírUy]

^1 Zobrazení seznamu metavyhledávačúů I ^1 Žádost o zveřejnění -»0- « volba operace v -o-

Přidáni me :avyhledávače Úprava m(tavyhledávače Srn azání n etavyhledavace V v v IVložen í údaju o metavyhledávači CÚprav a údajů o mevyhledávači Dotaz na potvrzení smazání V -I Potvrzní údajů Potvrzení údajů Potvrzení smazání

Obrázek 4.3: Diagram aktivit Správy metavyhledávačů

16 4. PORTÁL METAVYHLEDÁVÁNÍ

^fou^PafackjmtarUMLäOTcfaid Edton* Unv.- VVťlledává DOlľtOCÍ V o. 1 SearchEngne MetasearchE ngine -> +getLink List() í vlastní 1 vlastní +getLink List() vytvan vytvan 3..

Link List v +addLink() +addList()

obsahuje

Lir*

Obrázek 4.4: Analytický model tříd byla třída Page, která se stará o generování výsledného xHTML1 kódu. Třída Security zajišťuje, aby se uživatel nedostal k neoprávněným akcím a poslední třídou je Pagination, jenž zobrazuje pod výsledky vyhledávání odkazy na další stránky s výsledky. Pro správné zobrazování seznamu vyhledávačů a metavyhledávačů jsou do modelu zakomponovány třídy SearchEngineList a MetasearchEngineList. Pro zachování nezávislosti jádra aplikace od použité databáze jsem vytvořil další balík tříd, které mapují jednotlivé třídy na data­ bázi. Tyto třídy mají stejný název jako aplikační třídy, jen s příponou Mapper. Třídy jsou statické a poskytují shodné metody loadFromDbO, insertlntoDbO, updateDbO a deleteFromDbO. Diagram tříd a vztahů mezi nimi viz obr. 4.5. Diagram včetně všech atributů a metod naleznete na přiloženém CD.

4.2.2 Databáze

Při návrhu databáze jsem dbal na maximální využití primárních a cizích klíčů, aby v databázi nevznikaly slepé vazby a databáze se dlouho udržela v dobré kondici. Databáze obsahuje čtyři tabulky pro uložení uživatelů, vyhledávačů, metavyhledávačů a vazby metavyhledávačů na vyhledávače. Struktura tabulek je následující.

1. extensible HyperText Markup Language

17 4. PORTÁL METAVYHLEDÁVÁNÍ

-> _y_ MetasearchE ncjne MetasearchE ngineList rr^rto

SearchEngneList ^ <—

Usef ^ 7Kľ5

Database access control

UserMapper

SearchEiigneM.ipper MetasearchE ngneMapper >

MetasearchE n jneListMapper Sea rchEngneLJBt Mapper

Obrázek 4.5: Návrhový model tříd

Tabulka user

name - v systému unikátní jméno uživatele a je zároveň primárním klíčem tabulky password - md5 hash hesla uživatele. mail - e-mail uživatele. position - kladné celé číslo představující úroveň uživatele. Běžný uži­ vatel má úroveň 1, administrátor 2.

18 4. PORTÁL METAVYHLEDÁVÁNÍ

Tabulka metasearchxngine

• mid - unikátní číslo metavyhledávače generované sekvencí, které je zároveň primárním klíčem • userjiame - jméno uživatele, který metavyhledávač vytvořil. Sloupec je cizím klíčem spojen se sloupcem name tabulky user. • name - název metavyhledávače • public - kladné číslo uvádějící, zda je vyhledávač veřejný. Povoleny jsou hodnoty: 0 = neveřejný, 1 = požádáno o zveřejnění, 2 = veřejný.

f ^ ŕ search engine \ lil i 111 ! I KM mame Nullable = false IO--

mail 11 ! Nullable = false url varchar(IOO) position integer(10) Nullable = false link_pattern varchar(250) search url varchar(250) Nullable = false ^ / charset varchar(10) Nullable =true metasearch_engine pagination_pattern varchar(255) Nullable =true -O^ #user_ name varchar(5Q) Nullable = true page_variable varchar(20) Nullable = true name varchar(30) Nullable = false pagination_start integer(10) Nullable = true public integer(10) Nullable = true pagination_add integer(10) Nullable =true •Mini irrteger(10) Nullable = false public integers 0) Nullable = true +sid integer(10) Nullable = false

m etas eaich_ se arch _engi ne +?si

Obrázek 4.6: Entitně relační diagram databáze

Tabulka search-engine

• sid - unikátní číslo vyhledávače generované sekvencí, které je zároveň primárním klíčem • user-name - jméno uživatele, který vyhledávač vytvořil. Sloupec je cizím klíčem spojen se sloupcem name tabulky user. name - název vyhledávače url - adresa na domovskou stránku vyhledávače link-pattern - regulární výraz popisující odkaz na stránce s výsledky search-url - adresa, na které jsou výsledky vyhledávaní charset - znaková sada, kterou je kódována stránka s výsledky pagination-pattern - regulární výraz, který popisuje čísla stránek pro pohyb mezi stránkami s výledky page-Variable - název proměnné, která nese informaci při pohybu po stránkách s výsledky

19 4. PORTÁL METAVYHLEDÁVÁNÍ

• pagination štart - hodnota proměnné uvedené v page-variable pro první stránku. • pagination Jidd - rozdíl hodnot proměnné uvedené v page-variable mezi dvěmi sousedními stránkami • public - kladné číslo uvádějící, zda je vyhledávač veřejný. Povoleny jsou hodnoty: 0 = neveřejný, 1 = požádáno o zveřejnění, 2 = veřejný.

Tabulka metasearchsearchxngine • mid - číslo metavyhledávače, ke kterému se váže vyhledávač. Sloupec je cizím klíčem spojen se sloupcem mid tabulky metasearchxngine. • sid - číslo vyhledávače, který se váže k metavyhledávači. Sloupec je cizím klíčem spojen se sloupcem sid tabulky search .engine. • primárním klíčem tabulky jsou oba její sloupce Výše popsané tabulky včetně vazeb, sloupců a datových typů jsou zná­ zorněny na obrázku 4.6.

4.3 Implementace systému

Systém jsem implementoval v jazyku PHP52 s použitím webového serveru Apache3 a databázového stroje PostgreSql4. Pro design portálu jsem použil open source design Cash z databáze Open Source Web Design5. Design jsem trochu upravil pro potřeby portálu, ale dle přání autora jsem v patě stránky ponechal odkaz na Hosting Columbia. Aplikace generuje validní xHTML 1.06 kód s použitím kaskádových stylů CSS7 Jádro aplikace je uloženo v souboru index.php Při jeho spuštění se vytvoří instance třídy Dispatcher a podle předaného parametru action nebo display se předá řízení buď metodě onActionO nebo onDisplayO. U obou metod je na začátku jejich kódu kontrolováno, zda uživatel má požadovou úroveň pro jejich provedení. Pokud tomu tak není, je uživatel přesměrován na úvodní stránku. V případě zavolání metody onDisplayO se vytvoří instance třídy PageO a následně podle hodnoty parametru display se zavolají potřebné metody instance třídy Page. Metoda onActionO provádí operace, při kte­ rých nedochází k zobrazování dat uživateli, především se jedná o práci

2. http://www.php.net 3. http://www.apache.org 4. http://www.postgresql.org 5. http://www.oswd.org 6. http://www.w3.org/TR/xhtmll/ 7. http://www.w3.org/Style/CSS/

20 4. PORTÁL METAVYHLEDÁVÁNÍ s databází. Na konci každé operace je odeslána HTTP hlavička s příkazem k přesměrování na konkrétni stránku pomoci parametru display, případně je možné použít parametr msg pro předání informace o úspěchu či neúspěchu operace.

4.3.1 Vyhledání odkazů vyhledávačem

Vyhledání odkazů vyhledávačem obstarává metoda getLinkList(keyword: string) třídy SearchEngine. Na začátku provádění metody se sestaví URL, ze kterého bude stažena stránka s výsledky. Výsledné URL se skládá z atri­ butu searchUrl, za který je připojen obsah parametru keyword. Pokud se jedná o vyhledání dotazů na jiné, než první stránce s výsledky, je ještě připojen obsah atributu pageVarible a jeho hodnotou je výsledek funkce: ($_GET["page"]-1)*$this->paginationAdd+ $this->paginationStart Následně je z této URL načten její obsah a funkcí iconv() je překódován do UTF-8. Z atributu linkPattern je sestaven regulární výraz následujícím způsobem. $regExp = '/'.$this->linkPattern.'(•*)/s'; Parsování probíhá ve while-cyklu, v jehož podmínce je volána funkce pregjnatch($regExp, $retezec, $podvyrazy), která vrací hodnotu true, pokud byl nalezen vyhovující řetězec v proměnné $retezec. Do proměnné $podvyrazy uloží obsah podvýrazů. V těle cyklu se první až třetí podvýraz použije pro vytvoření instance třídy Link, která je následně přidána do instance třídy LinkList metodou addLinkO čtvrtý podvýraz se pošle do dalšího provedení cyklu, aby se z něj vyparsovali další odkazy. Po skončení cyklu již metoda vrátí výsledný seznam odkazů. Aby nebyl uživatel omezen pouze na první stránku výsledků, je třeba také vytvořit stránkování. To zajistí metoda getPages(). Metoda funguje po­ dobně jako metoda LinkList, jen s tím rozdílem, že se snaží vyseparovat čísla jednotlivých stránek, která potom vrátí v poli. Toto pole je potom předáno konstruktotem instanci třídy Pagination, která zajistí správné zob­ razení stránkování včetně odkazů na další stránky.

4.3.2 Vyhledání odkazů metavyhledávačem

Stejně jako třída SearchEngine má i třída MetasarchEngine metodu getLin- kList(), která vrací seznam nalezených odkazů. Metoda však pracuje jinak. Prochází pouze seznam vyhledávačů, které může metavyhledávač použít,

21 4. PORTÁL METAVYHLEDÁVÁNÍ a pokud je identifikátor vyhledávače i v poli právě používaných vyhledá­ vačů (useEngines), tak se spustí jeho metoda getLinkList(). Vrácený LinkList se vloží do seznamu odkazů metavyhledávače pomocí metody addListO. Me­ toda LinkList::addList() projde vkládaný seznam odkazů a pokud jsou stejná URL, tak přidá k původnímu odkazu jméno vyhledávače, který ji také našel, a do položky seznamu order, ve které je uloženo pořadí odkazů, vloží její původní hodnotu zvětšenou o hodnotu order vkládaného odkazu a celé to vydělí dvěmi. Pokud odkaz s daným URL v seznamu zatím neexistuje, jen se přidá. Na závěr se celé pole setřídí podle položky order vzestupně. Po skončení metody getLinkList na vyhledávači se ještě spustí metoda getPages(), která vrátí seznam čísel jednotlivých stránek. Čísla jsou potom v případě, že ještě neexistují v poli pageNumbers, do něj ukládána. Metoda Metasearch::getPages() potom toto pole vrací a je použitelné pro konstrukci třídy Pagination.

4.3.3 Bezpečnost Po přihlášení uživatele k systému se vytvoří instance třídy User se všemi informacemi o uživateli a tento objekt je uložen do speciální proměnné tzv. session, která je dostupná po celou relaci, kdy uživatel pracuje se systémem až do ukončení relace zavřením prohlížeče nebo odhlášením [4]. K systému přistupují tři úrovně uživatelů. Aby uživatelé nemohli prová­ dět akce a zobrazovat data, ke kterým nemají patřičnou úroveň oprávnění, jsou metody Dispatcher::onDisplay() a Dispatcher::onAction() zabezpečeny tří­ dou Security. Konkrétně metoda Dispatcherv.onDisplay je zabezpečena meto­ dou Security ::allowedDisplay (display) a metoda Dispatcher won Action metodou Security::allowedAction(action). Obě metody fungují podobně. Parametrem dostanou název operace, a pokud má uživatel úroveň oprávnění alespoň takovou, jaká je požadována, tak akci vrátí stejný název operace, jinak vrátí prázdný název a uživatel je potom přesměrován na úvodní stránku. Takto je pouze zajištěna bezpečnost na úrovni operací, nikoliv nad jed­ notlivými daty. Tu zajišťuje metoda Security::verifyUser(object). Parametrem dostane instanci třídy SearchEngine nebo MetasearchEngine. Následně se zkontroluje, zda se hodnota metody object->getUserName() rovná hodnotě user->getName(). Návratovou hodnotu je výsledek tohoto porovnání. Me­ toda Security::üerifyUser() je volaná při všech operacích, kdy se mají data načíst do editačního formuláře, uložit do databáze nebo z ní smazat.

22 Závěr

V práci jsem se věnoval typům vyhledávání na Internetu, zvláště tzv meta- vyhledávání. Popsal jsem několik současných metavyhledávačů a zhodnotil jejich použití a funkce. Na základě získaných znalostí jsem vytvořil vlastní internetový portál, ze kterého je možné přímo vyhledávat pomocí některých metavyhledá­ vačů a vyhledávačů. Portál je řešen dynamicky, takže jakýkoliv uživatel se může registrovat a přidávat do systému vlastní vyhledávače.Vyhledávače lze v rámci portálu spojovat do metavyhledávače a vyhledávat tak pomocí několika vyhledávačů zároveň. V případě zájmu uživatelů je systém možno rozšiřovat o další funkce tak, aby byl portál přehledný i v případě velké ko­ munity uživatelů a velkého množství vyhledávačů, které by byly z portálu dostupné.

23 Literatura

[i Dogpile. About dogpile. http://www.dogpile.com/dogpile/ ws/about/_iceUrlFlag=ll?_IceUrl=true.

[2; Dogpile. Focus your search with dogpile. http://www. dogpile . com/dogpile/ws/categories/_iceUrIFlag=ll?_IceUrl= true. [3] Info.com. Aboutinfo.com. http://info.com/about. [4] PHP Manuál. Session handling functions, http: //php. inter e c . es/manual/es/ref.session.php. [5] Jiří Peterka. 10 let od liberalizace internetu v Cr: Jak se kdysi hledalo? www.zive.cz,červenec2005. http: //earchiv.cz/b05/b0704004. php3. [6] Karel Pánek. Jak pracuje metavyhledávač? www.lupa.cz, 2002. http: //www.lupa.cz/clanky/jak-pracuje-metavyhledavac/. [7] Danny Sullivan. Eurekster launches personalized social search, čer­ ven 2004. http://searchenginewatch.com/showPage.html? page=3301481. [8] Wikipedia the free encyklopédia. Brainboost. http://en. wikipedia.org/wiki/Brainboost. [9] Wikipedia the free encyklopédia. Clusty. http://en.wikipedia. org/wiki/Clusty. [10] Wikipedia the free encyklopédia. Hotbot. http://en.wikipedia. org/wiki/HotBot. [11] Lenka Černá. Trendy ve vyhledávání na internetu. Master's thesis, Filozofická fakulta MU, 2006.

24 Příloha A Scénáře případů užití

Název: Přihlášení Stručný popis: Uživatel se přihlásí do systému Aktéři: Registrovaný uživatel Vstupní podmínky: Uživatel není přihlášen Scénář: 1. Uživatel zadá své přihlašovací jméno a heslo

2. Uživatel odešle přihlašovací údaje na server

3. Systém zkontroluje přihlašovací údaje

4. POKUD jsou přihlašovací údaje správné

4.1 Systém přihlásí uživatele do systému

5. JINAK

5.1 Systém oznámí chybu v přihlašovacích údajích

Výstupní podmínky: Uživatel je přihlášen

25 A. SCÉNÁŘE PŘÍPADŮ UŽITÍ

Název: Registrace Stručný popis: Uživatel se registruje do systému Aktéři: Návštěvník webu Vstupní podmínky: Uživatel není přihlášený Scénář: 1. Uživatel zadá uživatelské jméno, heslo, e-mail a potvrdí svou registraci

2. Systém uživatele zaregistruje

Výstupní podmínky: Uživatel je registrován v systému

Název: Zadání vyhledávacího dotazu Stručný popis: Uživatel zadá hledaný výraz Aktéři: Návštěvník webu Vstupní podmínky: Scénář: 1. Uživatel zadá hledaný výraz do formu­ láře

2. Uživatel odešle hledaný výraz na server

3. Systém zpracuje dotaz a dotáže se vy­ braných vyhledávačů na výsledky

4. Systém zobrazí výsledky hledání uživa­ teli

Výstupní podmínky: Výsledky hledání byly zobrazeny uživateli

26 A. SCÉNÁŘE PŘÍPADŮ UŽITÍ

Název: Výběr vyhledaného odkazu Stručný popis: Uživatel vybere odkaz ze seznamu Aktéři: Návštěvník webu Vstupní podmínky: Systém zobrazil výsledky hledání Scénář: 1. Uživatel vybere vyhledaný odkaz

2. Systém uživatele přesměruje na odka­ zovanou stránku

Výstupní podmínky: Uživatel byl přesměrován na jinou stránku v Internetu

Název: Výběr metavyhledávače Stručný popis: Uživatel vybere metavyhledávač pro vyhle­ dávání Aktéři: Návštěvník webu Vstupní podmínky: Existuje alespoň jeden metavyhledávač Scénář: 1. Uživatel vybere metavyhledávač z menu

2. Systém zobrazí formulář pro zadání hledaného dotazu

Výstupní podmínky: Systém je připraven pro zadání hledaného výrazu

27 A. SCÉNÁŘE PŘÍPADŮ UŽITÍ

Název: Výběr vyhledávače Stručný popis: Uživatel vybere vyhledávač pro vyhledávání Aktéři: Návštěvník webu Vstupní podmínky: Existuje alespoň jeden vyhledávač Scénář: 1. Uživatel vybere vyhledávač z menu

2. Systém zobrazí formulář pro zadání hledaného dotazu

Výstupní podmínky: Systém je připraven pro zadání hledaného výrazu

Název: Odhlášení Stručný popis: Uživatel se odhlásí ze systému Aktéři: Registrovaný uživatel Vstupní podmínky: Uživatel je přihlášený Scénář: 1. Uživatel odešle systému požadavek na odhlášení

2. Systém uživatele odhlásí ze systému

Výstupní podmínky: Uživatel je odhlášen

28 A. SCÉNÁŘE PŘÍPADŮ UŽITÍ

Název: Změna hesla Stručný popis: Uživatel si změní heslo do systému Aktéři: Registrovaný uživatel Vstupní podmínky: Scénář: 1. Systém zobrazí formulář pro zadání starého hesla a dvakrát nového hesla

2. Uživatel vyplní formulář a odešle data

3. POKUD je zadáno správné staré heslo a nové heslo je dvakrát zadáno stejně

3.1 Systém změní uživateli heslo

4. JINAK

4.1 Je zobrazena chybová správa

Výstupní podmínky: Uživatel má nové heslo

Název: Zveřejnění vyhledávače Stručný popis: Administrátor zveřejní vyhledávač Aktéři: Administrátor Vstupní podmínky: Uživatel požádal o zveřejnění Scénář: 1. Administrátor potvrdí zveřejnění

2. Systém zveřejní vyhledávač

Výstupní podmínky: Vyhledávač je veřejný

29 A. SCÉNÁŘE PŘÍPADŮ UŽITÍ

Název: Zveřejnění metavyhledávače Stručný popis: Administrátor zveřejní metavyhledávač Aktéři: Administrátor Vstupní podmínky: Uživatel požádal o zveřejnění Scénář: 1. Administrátor potvrdí zveřejnění

2. Systém zveřejní metavyhledávač

Výstupní podmínky: Metavyhledávač je veřejný

30 Příloha B Obsah přiloženého CD

Práce v PDF

Model systému (Visual Paradigm for UML)

Export modelu do PDF

Export diagramů modelu do JPG

Zdrojový kód aplikace1

Skript pro databázi

1. Nainstalovaná aplikace je dostupná na adrese http://metasearch.ic.cz

31