WebToDate/Fulltext/Tipy a návody: Porovnání verzí

Z WebToDate
Skočit na navigaciSkočit na vyhledávání
m Nahrazení textu „[[Category:WebToDate 4.1“ textem „[[Category:WebToDate“
 
Řádek 1: Řádek 1:
[[Category:WebToDate 4.1 Fulltext]]
[[Category:WebToDate Fulltext]]
[[Category:Fulltext]]
[[Category:Fulltext]]
== Minimální vyhledávací formulář ==
== Minimální vyhledávací formulář ==

Aktuální verze z 13. 10. 2009, 13:42

Minimální vyhledávací formulář

Pokud chcete na všech stránkách zobrazit malý vyhledávací formulář, který spouští vyhledávání ve všech zprávách, použijte následující kód.

<form action="/scripts/modules/fulltext/fulltxt.php" method="get">
<input type="text" name="searchtext"  maxlength="30"/>
 </form>

Tento HTML kód je možné samozřejmě libovolně upravovat a rozšiřovat, důležité je pouze:

  • Obsah formuláře odesílat skriptu /scripts/modules/fulltext/fulltxt.php
  • Dodržet název searchtext textového pole pro vyhledávací podmínku

Vyhledávání s omezením na kategorii

Změny oproti verzím WebToDate před verzí 4.0

Ve verzi WebToDate 4.0 byl zaveden strom kategorií – hierarchická struktura řídící celou webovou prezentaci. V rámci této struktury lze v každém uzlu specifikovat, zda je daná kategorie fulltextově prohledávaná či nikoliv.

S tím souvisí změna v možnostech práce s kategoriemi v tomto modulu. Klíčové slovo <!--WTD_FULLTXT(CATEGORIES)-->, které vypisovalo lineárně seznam kategorií do pop-up menu formuláře, již není podporováno. I nadále lze specifikovat parametr categid vyznačující, že se má hledat v dané kategorii, navíc je možno použít parametr subcateg vyznačující prohledávání včetně podkategorií. Není ovšem nijak podporován ve formuláři nějaký výběr kategorií – stromová struktura toto jednoduše a dostatečně konfigurovatelně neumožňuje.

Jak tedy možnost omezení na kategorii využít?

Jednou možností je vytvořit několik vyhledávacích formulářů (nejlépe jako těla fragmentů) a ty pak používat na různých částech webu dle potřeby. Parametr categid s číslem konkrétní kategorie je možné umístit např. do hidden pole formuláře.

Druhou možnost naznačuje následující kód.

<form action="/scripts/modules/fulltext/fulltxt.php" method="get">
<input type="text" name="searchtext" value="" size="20" maxlength="80"> <input type="submit" name="Action" value="Hledat">
<br>
<input type="radio" name="categid" value="0" checked>Ve všech kategoriích
<input type="radio" name="categid" value="<!--WTD_F(PAGECATEGID)-->">V této kategorii
<br>
<input type="checkbox" name="subcateg" value="1" checked="checked">Včetně podkategorií
</form>

Pokud takovýto kód umístíte na nějakou stránku (opět nejlépe jako tělo nějakého fragmentu) a stránku vygenerujete, vytvoří se formulář nabízející hledání buď v celém webu nebo v dané kategorii, do které stránka patří. Od verze WebToDate 4.0 každá stránka patří do nějaké kategorie a k dispozici je klíčové slovo <!--WTD_F(PAGECATEGID)-->, které do stránky vkládá ID její kategorie. Generování takového fragmentu na různých stránkách tedy automaticky nabízí možnost prohledávání různých kategorií podle toho, kde se daná stránka nachází.

Potíže s vyhledáváním slov obsahujících diakritiku

Pokud se výsledky hledání zobrazují správně, ale nevyhledávají se slova obsahující diakritiku, může být problém v konfiguraci používané databáze. Pokud je nesprávně nastaven pro indexovaní stroj databáze jazyk, může tento stroj chápat znaky s diakritikou jako oddělovače slov a potom práce s češtinou není plně funkční.

MS SQL Server

Pro indexované sloupečky musí být nastaveno language:neutral; pokud je zde např. english, není to správně a slova s diakritikou nebude možné vyhledat.

V SQL toto zjistíte příkazem

sp_help_fulltext_columns NEWSDB

Pokud jsou sloupce správně nastaveny na jazykově neutrální indexaci, musí příkaz ve sloupci FULLTEXT_LANGUAGE vrátit hodnotu 0.

MySQL

Ujistěte se, že je správně v souladu s instalačními pokyny WebToDate v konfiguračním souboru databáze nastaven jazyk (character_set) – doporučené nastavení závisí na zvoleném kódování češtiny na www serveru. V MySQL verze 4.1 jsou navíc značně rozšířeny možnosti konfigurace – znakové sady lze nastavovat nejen globálně, ale i pro databázi, tabulku apod. Tudíž zde zkontrolujte i např. character_set_database (lze zjistit dotazem SHOW VARIABLES).