Hledání na vlastním serveru

Cizí vyhledávač pro moje stránky - Google - Atomz - A další - Vlastní řešení vyhledávání

Možnosti, jak prohledávat vlastní stránky:

Cizí vyhledávač pro moje stránky

Jak to funguje:

Možná to vysvětluju moc složitě. Lepší budou příklady. Ukážu, jak pro prohledávání vlastních stránek nasadit Google, Jyxo nebo Atomz, což jsou varianty, které se běžně vídají. Pravděpodobně by se daly využít i jiné vyhledávače, ale na českých stránkách jsem to neviděl, takže to asi nebude tak výhodné.

Google

Úplně nejjednodušší je udělat prostě parazitní formulář googlovského pokročilého hledání. Když si v pokročilém hledání hledáte, vyleze vám stránka s výsledky, která má například takovéto URL:

http://www.google.com/search?as_q=pokus&as_sitesearch=jakpsatweb.cz

Přepíšu to na HTML kód formuláře:

<form action="http://www.google.com/search" target="_blank">
<input type="text" name="as_q" size="20">
<input type="hidden" name="as_sitesearch" value="jakpsatweb.cz">
<input type="submit" value="Vyhledat">
</form> 

Bude se hledat na serveru jakpsatweb.cz. Vyhledávání na tomto serveru Googlem:

Když si změníte adresu prohledávaného webu, bude to prohledávat jiný web. A to je skoro všechno, na co je potřeba myslet. Už jenom pár maličkostí:

Prohledávat vlastní stránky pomocí Google se dá v tom případě, že stránky zaplňují celou doménu. Mám-li například adresu stránek www.sweb.cz/yuhu/, tak ty Googlem elegantně prohledávat nemůžu, protože by mi prohledával celý www.sweb.cz a ne jenom to /yuhu/. (Aktualizace na jaře 2005: Google zavedl v operátoru site: podporu pro adresáře, takže by to už šlo udělat, ale neumí adresář zohledňovat ve formuláři SiteSearch, který popisuji níže. Aktualizace jaro 2009: sweb změnil adresy na subdomény typu yuhu.sweb.cz, takže popisovaný příklad přestal platit, ale jako příklad to snad chápete.)

Aby Google něco na mých stránkách našel, musejí ty moje stránky být také trošku starší (ideálně pár týdnů nebo měsíců) a musejí na ně vést odkazy z nějakých důležitých stránek (minimálně z katalogů), aby je Google vůbec znal.

Obarvení výsledků Google - SiteSearch

Předchozí příklad vracel výsledky v normálním designu Google, modro-bílé.

Dá se zařídit, aby to Google vracel v barvách, které si navolíte. Dělá se to na stránce Vše o Google > Search solutions > Free search > Sign me up for free search. Je potřeba zadat svoji doménu a navolit barvy (jdou případně změnit později). Do výsledků se dá přidat i vlastní logo. Google vzápětí poskytne kód formuláře (hodně prasáckej), který se prostě vloží do stránky. Kód formuláře lepší pročistit a získat něco takového:

<form action="http://www.google.com/custom">
<input type="text" name="q" size="31">
<input type="submit" value="Vyhledat Googlem na tomto webu">
<input type="hidden" name="cof" value="T:black;GALT:#333366;GFNT:#44AA66;LC:#333366;BGC:white;VLC:#3344bb;GIMP:#666;LW:131;LH:88;L:http://www.jakpsatweb.cz/images/jakpw.gif;AH:center;S:http://www.jakpsatweb.cz;">
<input type="hidden" name="domains" value="jakpsatweb.cz">
<input type="hidden" name="sitesearch" value="jakpsatweb.cz">
<input type="hidden" name="ie" value="iso-8859-2">
</form>

Vyzkoušejte (výsledek se otevře do nového okna):

 

Ten šílený řádek name="cof" s tím mořem parametrů je nastavení barev a loga. Jednotlivé parametry se oddělují středníkem:

Barvy:
T: většinový text
LC: nenavštívený odkaz
VLC: navštívený odkaz
ALC: aktivní odkaz (přejížděný tabulátorem)
GALT: vypsané url (alternativní barva textu)
GFNT: sekundární odkazy (archiv, podobné) a nadpis bloku reklam
GIMP: barva číslíčka aktuální stránky (dole)
BGC: pozadí stránky (barva)
BIMG: url obrázku na pozadí
GL: styl pozadí formuláře ve výsledku: 0 nebo bez hodnoty je bílá (pokud je pozadí jiné barvy, pak má formulář rámeček), 1 šedá s rámečkem, 2 černá s rámečkem. Jiné barvy formuláře nastavit nejdou.
Logo:
L: url loga
LW: šířka loga (v pixelech)
LH: výška loga (v pixelech)
S: kam logo kliká
AH: zarovnání loga a formuláře (left|right|center), výchozí je center

Do inputu name="ie" se zadává kódování stránky, na které je formulář umístěný. To aby Google pochopil, v jakém kódování se ptáte. Pokud vám nefunguje hodnota "iso-8859-2", zkuste "windows-1250" nebo "UTF-8".

Input name="sitesearch" říká, na jaké doméně se bude po odeslání formuláře hledat. Input name="domains" naproti tomu určuje, co se vypíše ve formuláři po odeslání hledání (lze tam napsat i více domén a oddělit je středníky -- ve formuláři budou mít více radio buttonů). Pokud se domains neuvede, nebude formulář na stránce výsledků umožňovat další hledání pouze v doméně.

Výhodou hledání pomocí Google je zejména to, že řadí výsledky podle velmi propracovaných algoritmů (narozdíl od Atomz). Také častěji indexuje stránky, které se často mění. Více o Google.

Tip: pokud sledujete statistiky příchodů z vyhledávačů a nechcete si je klamat vlastním hledáním, namiřte formulář na google.gr namísto na google.com. Potom uvidíte, kolik lidí chodí z Google normálně a kolik z řeckého Google (tedy z vašeho formuláře).

Google "s vůní" konkrétního webu

Google Site-Flavored search je experimentální program z Google Labs. Zadáte adresu svého webu, Google si zanalyzuje stránky tohoto webu a určí jeho téma. Potom nabídne kód formuláře na vyhledávání, z nějž vypadávají jiné výsledky. Google tvrdí, že by měly být trochu lepší, než je normální Customizable search (popsáno výše).

Google Coop

Zajímavá vcelku moderní věc je Google Coop. Když se zaregistrujete, můžete si vytvářet vlastní vyhledávání, do něhož zahrnete pouze určité domény. Od listopadu 2006 to používám i na tomto webu. Výsledky se dají obarvit a dokonce přes javascript vložit na vlastní stránku, která je na doméně majitele webu. Pak to vypadá, že je vyhledávání přímo na tom webu, nikoli na Google.

V Google Coop je spousta různých nastavení a statistiky. Kromě statistik počtu dotazů můžete vidět statistiku nejčastěji hledaných dotazů. Dokonce se do stránky dá vložit kód, který uživatelům ukazuje nejčastěji hledané dotazy. Potom to vypadá nějak takhle (odkazy vedou na hledání těch výrazů):

Jestli nic nevidíte, tak to má asi Google zrovna nějaké rozbité. Nebo to mám rozbité já. Je to trochu komplikovanější na nastavení.

Google API -- pro pokročilé

Mocnější nástroj než pouze přebarvení výsledků představuje Google API. Jedná se o možnost získávat výsledky hledání z Google v XML formátu. XML je potom možno na straně serveru online zpracovat do vlastních stránek. Takže kdo umíte PHP nebo jiný serverový programovací jazyk, tak se do toho můžete dát. Je na to potřeba také API klíč, který můžete získat po registraci do Google.

Pokud se s tím nechcete sami programovat, podívejte se na návod a řešení na stránku http://www.digitalpoint.com/tools/search/ (anglicky).

Google AdSense pro vyhledávání

V rámci programu AdSense nabízí Google účastníkům programu podobnou službu jako je výše zmíněný SiteSearch. Jmenuje se to AdSense pro vyhledávání (AdSense for search). Hlavní výhodou programu (kromě větší přizpůsobitelnosti výsledků) je to, že za klikání na reklamy na stránkách výsledků dostáváte od Google zaplaceno. Už to běží i pro stránky v češtině. Nevýhodou je to, že nad výsledky vyhledávání je blok reklam (ovšem za klikání na ně je provize).

Mrkněte na úvod do AdSense. Více na www.google.com/adsense.

Jyxo

Jyxo přestalo fungovat, Nova ho vypnula.

Atomz (WebSideStory)

Na serveru Atomz.com se lze zaregistrovat do trial programu, což je zdarma. Atomz potom prohledává moje stránky. Má to spoustu výhod:

A nevýhody:

Příklad formuláře, který hledá na těchto stránkách:

<form action="http://search.atomz.com/search" target="_blank">
<input type="hidden" value="00062d0d-sp00000000" name="sp-a">
<input type="hidden" value="0" name="sp-advanced">
<input type="hidden" value="1" name="sp-w-control">
<input type="hidden" name="sp-k">
<p>Hledání:<br>
<input class="text" name="sp-q" size="20">
<input class="submit" type="submit" value="hledej Atomzem"> </p>
</form>

Ten řetězec 00062d0d-sp00000000 je unikátní pro mou registraci (Atomz ví, že patří k mým stránkám). Při registraci dostanete svůj.

V létě 2005 se Atomz přejmenoval na WebSideStory.

A další

Existují i jiné servery podobné Atomzu. Moc jich neznám. Napište mi prosím svoje zkušenosti s dalšími podobnými službami.

Freefind

Karol Bohm-Klein mi doporučil službu freefind.com:

Pro fulltextové prohledávání svých stránek používám službu freefind (www.freefind.com) - je také plně přizpůsobitelná, fulltextová, indexuje stránky každý den (pokud si to nastavíš). Také nabízí funkční mapu stránek (site map), která se dá také zcela upravit podle chuti.

Příklad hledání službou FreeFind.com na tomto webu.

Websearch

Už nefunguje.

Morfeo

Už nefunguje.

Vlastní řešení vyhledávání

Na vlastním serveru můžete nainstalovat nějaké již existující vyhledávací řešení, nějaký hledací program. Žádný pořádný neznám, ale jsem si jist, že existují a fungují. Každý takový program má specifické omezení, takže na určitý server se dají nainstalovat jenom některá řešení. Je to dost komplikované a vím o tom málo.

Vlastní hledací řešení doporučuji volit jen na uzavřeném intranetu. Všude jinde se dá nasadit Atomz nebo Google. Jsou firmy, které se zabývají prohledáváním intranetu (a například Google na to přímo prodává kusový počítač, který se dá píchnout do intranetu a hledá).

Příkladem existujícího vyhledávacího řešení (které uvádím, protože jsem viděl fungovat), je hledací FrontPage komponenta. Kdysi jsem se v tom hrabal. Hodně správců serverů se to ale bojí instalovat, protože FrontPage komponenty jsou dost pochybné a potenciálně nebezpečné. Pak také existují komerční řešení serverů se zabudovaným hledáním, je to většinou drahé.

Asi nejlacinější řešení je program Zoom search engine, což je prográmek pro windows. Po spuštění a nastavení prohledávaného adresáře nebo webu dokáže vytvořit vyhledávací index. Ten se může využít na serveru přes PHP či ASP, nebo na lokálu přes javascript. Do padesáti stránek je to zdarma, lepší verze stojí asi 50 dolarů. Po pravdě řečeno je ale řazení výsledků dost ubohé.

Zdatní programátoři si mohou napsat vlastní vyhledávač, třeba napojený na databázi. Ten by měl mít 3 moduly:

Nejjednodušší představitelná databáze má tři tabulky: tabulku slov, tabulku stránek a tabulku propojení, která říká, zda se slovo ve stránce vyskytuje (případně kolikrát nebo kde). V praxi bývají databáze řádově mnohem složitější.

Jiný případ nastává, pokud je veškerý obsah serveru generovaný z databáze. Potom není potřeba psát crawler a indexovač, stačí trochu lépe indexovat data a prohledat databázi textů. Například MySQL obsahuje fulltextový modul. Takhle to běžně dělají internetové obchody či zpravodajské servery.

 

Reklama

www.webhosting-c4.cz, webhosting s doménou v ceně. 20GB

 

 

 

o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Základy Prvky stránek Tvorba webu

 

Jak psát web píše Yuhů, Dušan Janovský. Kontakt. Poslední aktualizace 01. října 2014.