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 AskProgram už není závislý na knihovnách. Pro komunikaci HTTP protokolem se používá standardní knihovna J2SE.
Obhájeno! :o)
Ještě detail v textu.
V textu provedeny ještě drobné korekce, které navrhl vedoucí diplomky.
Po přečtení ještě v textu opraveno ručně několik desítek překlepů a gramatických chyb.
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.
Kosmetické úpravy v programu.
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í
Na stránce se zobrazuje seznam podporovaných vyhledávačů. Program loguje jednu zprávičku hned po inicializaci loggeru.
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.
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.
Webové rozhraní - u hitů se zobrazuje URI, program - přidáno několik logovacích výpisů.
Vzniklo webové rozhraní, provedeny drobné úpravy v programu.
Úpravy v programu (plus příkladu použití) - na Response se nemusí volat terminate.
V diplomce je dopsaný abstrakt.
V programu přepsána funkce pro odhad ranku plus několik dalších drobných úprav.
V textu popsán experiment, ze kterého vzešla funkce odhadující ranky.
V programu upravena inicializace objektu MetaSearch. Opraven i kód s příkladem.
V textu přibyla kapitola o dalších možnostech a příbuzných pracích.
Drobná úprava programu - lepší parsování dotazu.
V textu je dopsána kapitola implementace.
Drobné opravy textu a začátek kapitoly o implementaci.
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.
Text diplomky byl opět obohacen, tentokrát o kapitolu o zpětné vazbě a kapitolu o dispečerovi.
V texu diplomky přibyla kapitola o agentech.
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).
Dopsaný kousek textu diplomky.
Provedeny některé úpravy v programu.
Začátek textu diplomky - úvod a popis existujícíhc algoritmů, které sloužily jako podklady.
Ještě drobné úpravy, které ale nijak nemění funkčnost, jen zlepšují čistotu kódu.
Ještě aktualizace formátu Yahoo.
Nová verze s aktualizovaným formátem pro Jyxo. Krom toho přibyla podpora pro další 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.
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í "..."
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í.