Hledání na vlastním serveru

Cizí vyhledávač pro moje stránky - Google - Google CSE - 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 a zmíním FreeFind, což jsou varianty, které se běžně vídají. Pravděpodobně by se daly využít i jiné vyhledávače jako například Seznam, ale ten na to není nijak připraven.

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:

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

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

<form action="https://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 https://example.com/yuhu/, tak ty Googlem elegantně prohledávat nemůžu, protože by mi prohledával celý example.com 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.

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ělalo se to na stránce, která už nefunguje (2017). Bylo 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 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.

Přestali to podporovat v roce 2010.

Google CSE - vlastní vyhledávání přes Google

Zajímavá vcelku moderní věc je Google Custom Search Engine (CSE). 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 (dříve se to jmenovalo Google COOP). 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 Custom Search 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 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).

Já to používám tak, že si v rámci rozhraní Google Custom Search (popsáno výše) nastavím propojení se svým Adsense účtem, takže ze všech reklam, na které uživatelé ve výsledcích vyhledávání kliknou, dostanu provizi.

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

Jyxo

Jyxo přestalo fungovat, Nova ho vypnula.

Atomz

 

Atomz přestal fungovat někdy kolem roku 2011.

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.

 

Poslední hrubá aktualizace stránky: 14. 1. 2017

 

Reklama

www.webhosting-c4.cz, extra rychlý SSD webhosting s doménou v ceně
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.