Personifikovaný metavyhledávač

průběh diplomové práce

Poslední verze

Podporované vyhledávače

  1. All the Web
  2. Alta Vista
  3. AOL Search
  4. Ask Jeeves
  5. Google
  6. Yahoo

  7. Jyxo
  8. Morfeo
  9. Seznam

Použití

Spuštění: java -jar metasearch.jar PROFILE QUERY [ENGINES]
Dotaz se předává jako jeden parametr, každý vyhledávač je zvláštní parametr. PROFILE může být prázdný řetězec (ale parametr musí být uveden) pro použití "globálního profilu". Jméno vyhledávače (case-sensitive) je určeno hodnotou atributu name tagu search v souboru formats/*.src. Neuvede-li se žádné jméno vyhledávače, provede se automatická selekce na základě zpětné vazby. Takže například

java -jar metasearch.jar Ophelia "testing one two three" Google Ask

Příklad použití metavyhledávače jako knihovny


5.6.2006

Program už není závislý na knihovnách. Pro komunikaci HTTP protokolem se používá standardní knihovna J2SE.

22.5.2006

Obhájeno! :o)

4.4.2006

Ještě detail v textu.

3.4.2006

V textu provedeny ještě drobné korekce, které navrhl vedoucí diplomky.

23.3.2006

Po přečtení ještě v textu opraveno ručně několik desítek překlepů a gramatických chyb.

21.3.2006

Text diplomky dokončen, spellchecking proveden. Zřejmě budou ještě nějaké korekce, ale nechybí už žádná pasáž. Dále je sestaven obsah přikládaného CD.

21.3.2006

Kosmetické úpravy v programu.

4.3.2006

Do textu diplomky dopsány některé experimenty. K naprosté úplnosti chybí jen tři "drobnosti": zápis o testovacím provozu, závěr, příloha o instalaci a použití

3.3.2006

Na stránce se zobrazuje seznam podporovaných vyhledávačů. Program loguje jednu zprávičku hned po inicializaci loggeru.

2.3.2206

V programu upraveno parsování dotazu (termy oddělené jinak než bílými znaky jsou považovány za frázi), změněna aproximační konstanta pro slévání. Na stránce je zmínka o omezeném provozu.

26.2.2006

V programu je upraven formát zpráv v logu, provedena drobná změna v parsování dotazu (na pořadí elementů záleží) a nastavena minimální váha vyhledávače. O hodnotě této konstanty přibyla i kapitola v textu diplomky.

25.2.2006

Poznámky od Jana Lánského

20.2.2006

Webové rozhraní - u hitů se zobrazuje URI, program - přidáno několik logovacích výpisů.

19.2.2006

Vzniklo webové rozhraní, provedeny drobné úpravy v programu.

8.2.2006

Úpravy v programu (plus příkladu použití) - na Response se nemusí volat terminate.

7.2.2006

V diplomce je dopsaný abstrakt.

V programu přepsána funkce pro odhad ranku plus několik dalších drobných úprav.

4.2.2006

V textu popsán experiment, ze kterého vzešla funkce odhadující ranky.

3.2.2006

V programu upravena inicializace objektu MetaSearch. Opraven i kód s příkladem.

2.2.2006

V textu přibyla kapitola o dalších možnostech a příbuzných pracích.

25.1.2006

Drobná úprava programu - lepší parsování dotazu.

24.1.2006

V textu je dopsána kapitola implementace.

23.1.2006

Drobné opravy textu a začátek kapitoly o implementaci.

20.1.2006

Do textu byla dopsána kapitola o slévání výsledkových lisitn. Zbývá pár slov o implementaci a experimentální výsledky.

19.1.2006

Text diplomky byl opět obohacen, tentokrát o kapitolu o zpětné vazbě a kapitolu o dispečerovi.

11.1.2006

V texu diplomky přibyla kapitola o agentech.

7.1.2006

Další verze programu. V souborech pro popis formátu zrušeny multihodnoty. Updatován formát Googlu. Prázdná výsledková listina mění v meta-indexu jen globální matici (netýká se uživatelského profilu).

6.1.2006

Dopsaný kousek textu diplomky.

2.1.2006

Provedeny některé úpravy v programu.

2.1.2006

Začátek textu diplomky - úvod a popis existujícíhc algoritmů, které sloužily jako podklady.

27.11.2005

Ještě drobné úpravy, které ale nijak nemění funkčnost, jen zlepšují čistotu kódu.

23.11.2005

Nová verze

21.11.2005

Ještě aktualizace formátu Yahoo.

21.11.2005

Nová verze s aktualizovaným formátem pro Jyxo. Krom toho přibyla podpora pro další vyhledávače.

18.11.2005

Nová verze meta-vyhledávače.

Dopsána selekce vyhledávačů. Algoritmus je silně inspirován meta-vyhledávačem Savvy Search. Pro uložení meta-indexu použito externí hašování, nedávno (LRU) použité kapsy se cachují v paměti. Podpora stárnutí meta-indexu.

Nově podpora pro vyhledávač All the Web.

Ukázka použití meta-vyhledávače jako knihovny.

18.10.2005

Další verze.

11.10.2005

Nová verze ke stažení.

Doplněna podpora frází.

10.10.2005

Nová verze metavyhledávače

Oprava problémů s kódováním. Některé vyhledávače nejsou schopné přijmout dotaz v Unicodu, takže je třeba u nich použít jiné kódování. Informaci, jaké kódování použít pro dotaz jsem přidal jako další rozšíření do souboru s formátem vyhledávače. Například pro Jyxo přibyl následující tag.

<charset input="iso-8859-2" output="iso-8859-2">

Jak je z příkladu vidět, tak ani výstup v Unicodu jsem z některých vyhledávačů nedostal. I kódování výstupu se dá tedy definovat v souboru s formátem. (Alternativně by u výstupu šlo tuhle informaci vytáhnout z hlavičky odpovědi. Tuhle variantu nepodporuju.) Problémy s kódováním výstupu dělá už jen Ask Jeeves. Ovšem obávám se, že to žádným rozumným způsobem nepůjde řešit, protože sám Ask dost možná ztratil informaci, jaká správná písmenka s diakritikou mají v titulcích a snippetech být. Příklad tady.

Hit metavyhledávače je tvořen tvořen trojicí řetězců a jedním reálným číslem pro skóre. Řetězce odpovídají URL, titulku a snippetu. V titulku a snippetu se připouští výskyt HTML značek. Může být?

Yahoo problém opraven, ovšem vznikl Yahoo problém 2. Yahoo používá interní URL. Skutečné URL hitu je uvedeno jako text mezi informacemi o nalezené stránce. Právě tohle URL používám, jenže Yahoo u extrémně dlouhých odkazů zkracuje pomocí "..."

7.10.2005

Ke stažení první verze programu, zatím bez podpory uživatelských profilů.

Zatím je podpora pro následující vyhledávače:

Na standardní výstup se vypisují výsledky ve formátu "skóre - URL". Krom toho se ještě posílají některé ladící hlášky na standardní chybový výstup.

Pro popis formátu vstupu a výstupu jednotlivých vyhledávačů jsem zůstal u formátu Mozilly s tím, že jsem doplnil několik rozšíření. Rozhodl jsem se nepoužívat Neko HTML Parser. Místo toho parsuju výstupy jednotlivých vyhledávačů pořád jako řetězce a nevyužívám nijak, že mají HTML strukturu. Vypadá to, že tento jednoduchý přístup je postačující. Využití HTML struktury by kromě přepsání parsingu v programu vyžadovalo navrhnout jiný popis výstupu vyhledávačů. Zdá se mi, že by to nic nepřineslo, krom toho by pak už asi ani formát Mozilly nešel rozumně rozšířit a bylo by třeba navrhnout vlastní.

Ještě pořád zbývají problémy k dořešení.

Další metody pro metavyhledávače (Efficient and Effective Metasearch for a Large Number of Text Databases (1999), A Highly Scalable and Effective Method for Metasearch)
Metavyhledávač Savvy Search
Příprava - protokol http 1.1, http client, Tomcat