Vyhledßvacφ nßstroje

Dnes jsou na Internetu vyu₧φvßny zejmΘna techniky fulltextovΘho vyhledßvßnφ. Schopnosti fulltextov²ch technologiφ vÜak narß₧ejφ na velk² objem informacφ, kterΘ jsou na Webu p°φtomny. Pokud tedy zadßme n∞jakΘmu fulltextovΘmu vyhledßvaΦi slovo, kterΘ nßs zajφmß, dostaneme jako odpov∞∩ tisφce strßnek.

Pokud by byly dneÜnφ fulltextovΘ vyhledßvaΦe schopnΘ vyu₧φt p°φdavnΘ informace ulo₧enΘ v XML dokumentech, byla by mo₧nost efektivnφho vyhledßvßnφ na Internetu op∞t o n∞co lepÜφ. Vyhledßvacφ servery by mohly lΘpe rozpoznat d∙le₧itost dokument∙ podle Φßstφ textu, kde se hledanΘ slovo vyskytuje. Dokument, kter² danΘ slovo obsahuje v nadpisu, je jist∞ vφce relevantnφ, ne₧ kdy₧ ho obsahuje pouze v n∞jakΘ poznßmce pod Φarou. ZlepÜenφ p°inese i kontextovΘ vyhledßvßnφ, kterΘ umo₧nφ u hledanΘho slova zadat, zda se jednß o jmΘno Φlov∞ka, jmΘno ulice, nebo popis fotografie.

Bez toho, aby poΦφtaΦe porozum∞ly p°irozenΘmu jazyku, nebude vyhledßvßnφ informacφ nikdy dokonalΘ. NicmΘn∞ ji₧ dnes se experimentuje s technikami, kterΘ mohou lecΦemu pomoci. ProblΘm kontextovΘho vyhledßvßnφ spoΦφvß v tom, ₧e v r∙zn²ch DTD a schΘmatech se pro oznaΦovßnφ tΘho₧ vyu₧φvajφ elementy s r∙zn²mi nßzvy. PokroΦilΘ vyhledßvaΦe proto budou obsahovat slovnφky, kterΘ umo₧nφ p°eklad v²znamu znaΦek mezi n∞kolika DTD.

InternetovΘ vyhledßvacφ slu₧by podporujφcφ XML

Na Internetu je dnes k dispozici velkΘ mno₧stvφ vyhledßvacφch slu₧eb. Jejich spoleΦn²m znakem je, ₧e jsou p°evß₧n∞ zalo₧eny jen fulltextov∞ û indexujφ textov² obsah strßnky. Nestarajφ se vÜak o strukturu dokumentu a o v²znam jednotliv²ch Φßstφ textu. Na Webu se zaΦφnajφ objevovat strßnky, kterΘ jsou dostupnΘ pouze v XML a logicky tak zaΦaly vznikat vyhledßvacφ slu₧by, kterΘ podporujφ kontextovΘ vyhledßvßnφ.

Slu₧ba GoXML se sna₧φ kontextovΘ prohledßvßnφ uΦinit hodn∞ u₧ivatelsky p°ßtelskΘ. Po zadßnφ hledan²ch slov se nßm zobrazφ strßnka s nalezen²mi dokumenty. Krom∞ toho se zobrazφ seznam nßzv∙ element∙, ve kter²ch se hledanß slova vyskytujφ. Pokud si vybereme n∞jak² z nabφzen²ch element∙, ve v²sledku se objevφ jen dokumenty, kde jsou hledanß slova v danΘm elementu. Nejednß se tedy o nic p°evratnΘho, ale pro rychlΘ up°esn∞nφ v²sledk∙ to staΦφ. GoXML nabφzφ i zajφmavou slu₧bu, kdy se dotaz serveru zaÜle v podob∞ XML dokumentu a seznam v²sledk∙ dostaneme zp∞t op∞t v podob∞ XML dokumentu.

Obrßzek 6. GoXML je prvnφ vyhledßvacφ slu₧bou, kterß je zam∞°ena vyhledßvßnφ v XML dokumentech

Experimentßlnφ slu₧ba IBM xCentral spφÜe ne₧ k vyhledßvßnφ v XML dokumentech slou₧φ k vyhledßvßnφ informacφ o XML. M∙₧eme si toti₧ vybrat, zda chceme prohledßvat dokumenty, DTD, archivy XML konferencφ nebo jinΘ materißly vztahujφcφ se k XML.

VyhledßvaΦ pro äosobnφ pou₧itφô

NejmΘn∞ stejn∞ d∙le₧itΘ jako internetovΘ vyhledßvaΦe jsou systΘmy, kterΘ umo₧≥ujφ prohledßvßnφ XML dokument∙, kterΘ mßme na svΘm poΦφtaΦi nebo t°eba na firemnφm Intranetu. Ji₧ dnes existuje pom∞rn∞ Üirokß nabφdka nßstroj∙, kterΘ pro to m∙₧eme pou₧φt.

Pokud dokumenty uklßdßme do databßze, mßme v∞tÜinou vyhrßno. V∞tÜina dneÜnφch databßzov²ch server∙ ji₧ n∞jakou dobu obsahuje mo₧nosti fulltextovΘho vyhledßvßnφ. S p°φchodem XML postupn∞ v²robci databßzφ rozÜi°ujφ funkΦnost hledßnφ tak, aby Ülo zadßvat i kontextovΘ dotazy. NovΘ mo₧nosti lze obvykle vyu₧φt pomocφ nov²ch operßtor∙, kterΘ rozÜi°ujφ jazyk SQL (Structured Query Language) pou₧φvan² v relaΦnφch databßzφch k dotazovßnφ.

Pr∙kopnφkem v podpo°e XML v databßzφch je Oracle, ale ani IBM se svojφ DB2 a Microsoft s SQL Serverem nespφ a podporu XML ve sv²ch produktech neustßle zlepÜujφ.

Ne v₧dy mßme to Üt∞stφ (sm∙lu;û), ₧e mßme vÜechny dokumenty v databßzi nebo na svΘm Intranetu. ZajφmavΘ slu₧by nßm pak m∙₧e nabφdnout program Xdex, kter² umo₧≥uje indexovßnφ a nßsledovnΘ vyhledßvßnφ v XML dokumentech. IndexovanΘ dokumenty p°itom mohou b²t na mnoha mφstech. Xdex umφ indexovat dokumenty ulo₧enΘ na WWW a FTP serverech, na sφ¥ov²ch i lokßlnφch discφch. Lze jej po₧ßdat i o to, aby zaindexoval dokumenty ulo₧enΘ v databßzi.

Mezi unikßtnφ vlastnost Xdexu pat°φ mo₧nost vytvo°enφ tezauru pro nßzvy element∙. Pokud indexovanΘ dokumenty odpovφdajφ r∙zn²m DTD nebo schΘmat∙m, ale n∞kterΘ elementy majφ stejn² v²znam, m∙₧eme °φci, kterΘ elementy jsou vzßjemnß synonyma. KontextovΘ hledßnφ pak hledß ve vÜech elementech s dan²m v²znamem.

Rozhranφ k Xdexu je webovΘ, vyhledßvaΦ obsahuje i XSL procesor, tak₧e lze dokumenty pro zobrazenφ p°evΘst do HTML pro starÜφ prohlφ₧eΦe.

VÜechny p°edchozφ vyhledßvaΦe fungovaly na principu, kdy nejsou prohledßvßny p°φmo originßlnφ dokumenty, ale pomocnß datovß struktura, tzv. index, kter² hledßnφ v²razn∞ urychluje. Index se vÜak musφ neustßle aktualizovat, aby odrß₧el skuteΦn² obsah dokument∙. Navφc je index obvykle stejn∞ velk² (ne-li v∞tÜφ) ne₧ indexovanΘ dokumenty, tak₧e dochßzφ ke zbyteΦnΘmu pl²tvßnφ mφstem na disku. Pokud pot°ebujeme kontextovΘ prohledßvßnφ pou₧φt jen obΦas na n∞jakou menÜφ skupinu dokument∙, m∙₧e se nßm hodit program sgrep. Tato jednoduchß utilitka pracuje podobn∞ jako znßm² program grep, s tφm rozdφlem, ₧e m∙₧eme vytvß°et kontextovΘ dotazy, kterΘ zadanΘ frßze hledajφ jen v urΦit²ch Φßstech dokumentu.

Dotazovacφ jazyky

VÜechny v²Üe popsanΘ druhy prohledßvaΦ∙ pou₧φvaly vlastnφ jazyk pro zadßvßnφ dotaz∙ nad XML dokumentem. ╚asto je tento jazyk od u₧ivatele jeÜt∞ odstφn∞n n∞jak²m p°φjemn²m u₧ivatelsk²m rozhranφm. Pro vÜechny by vÜak jist∞ bylo v²hodnΘ, kdyby existoval n∞jak² standardizovan² jazyk pro dotazovßnφ v XML dokumentech. P°evß₧nß v∞tÜina relaΦnφch databßzφ podporuje dotazovacφ jazyk SQL. Kdyby se pro dotazovßnφ v XML pou₧φval n∞jak² stejn∞ rozÜφ°en² a standardizovan² jazyk, bylo by to jen dob°e.

Mezi jednoduchΘ dotazovacφ jazyky pro XML m∙₧eme za°adit XPath a XSLT. Ty umo₧≥ujφ vybφrat urΦitΘ Φßsti dokumentu. Jsou vÜak orientovßny na XML dokumenty, kterΘ se pou₧φvajφ pro data textovΘho charakteru. Pro vyhledßvßnφ v siln∞ strukturovan²ch datech nejsou p°φliÜ vhodnΘ. Konsorcium W3C proto pracuje na dotazovacφm jazyku pro XML, tzv. XML-QL (XML Query Language). Ten mß krom∞ snadnΘho v²b∞ru informacφ v XML dokumentu umo₧nit i jejich uspo°ßdßnφ do formy, ve kterΘ pot°ebujeme v²sledek.

Existujφ i iniciativy, kterΘ se sna₧φ podporu pro XML p°idat do jazyka SQL. NovΘ verze komerΦnφch databßzov²ch server∙ Φasto ji₧ n∞jak² dotazovacφ pro XML majφ v sob∞ zahrnut². Zatφm vÜak nelze hovo°it o n∞jakΘm standardu. Bude jeÜt∞ pot°eba n∞jak² Φas, ne₧ se na zßklad∞ zkuÜenostφ a po₧adavk∙ vytvo°φ jednotn² a vÜemi pou₧φvan² standard.

⌐ Ji°φ Kosek 2000-2001