Správné nastavení českého vyhledávání v rodině produktů SharePoint 2010

Slovanské jazyky, češtinu nevyjímaje, jsou specifické tím, že každé slovo se může vyskytovat mnoha tvarech. Netýká se to pouze obecných podstatných jmen, ale též vlastních jmen, jako jsou jména měst či příjmení. Tato skutečnost komplikuje fulltextové vyhledávání v češtině. Produkty z rodiny SharePoint 2010 však s touto skutečností počítají. Je ovšem nezbytné provést některá základní nastavení, aby bylo fulltextové vyhledávání v češtině optimální. Níže uvedené nastavení se vztahuje na produkty SharePoint Server 2010 (Standard i Enterprise), Search Server 2010 a Search Server 2010 Express.

Nevztahuje se na produkt SharePoint Foundation 2010. V případě, že vlastníte tento produkt, zvažte povýšení na Search Server 2010 Express, které neznamená žádné licenční náklady navíc a rozšíří vám výrazně možnosti vyhledávání.

Pro správnou funkci je třeba splnit 3 následující podmínky:

  1. Správný jazyk při indexaci
  2. Povolení všech tvarů slova
  3. Správný jazyk při vyhledávání


Správný jazyk při indexaci

Správná volba jazyka (v našem případě čestiny) zajišťuje zejména správné rozdělení textu na jednotlivá slova dle specifik daného jazyka. Při indexaci se jazyk určuje následujícím způsobem:

  1. Pokud jde o dokument, který obsahuje informace o jazyce v metadatech (např. Office dokumenty s označeným jazykem anebo webová stránka s příslušnými META hlavičkami Content-Language), použije se tento jazyk.
  2. Pokud lze jazyk určit z kontejneru, ve kterém se text nachází, použije se tento jazyk. Např. texty položky v SharePoint seznamech (oznámení apod.) se indexují jazykem, ve kterém je příslušný SharePoint site vytvořen.
  3. V ostatních případech se volí výchozí systémové lokální nastavení na počítači, jež indexaci provádí. Toto se uplatní např. pro textové soubory umístěné ve vzdálené sdílené složce.

Povolení všech tvarů slova

Pro vyhledávání je třeba povolit hledání ve všech tvarech slova. Protože toto nastavení zvyšuje režii dotazu a na většině zeměkoule není nutné, je ve výchozím stavu vypnuto. Zapnutí je tudíž plně na vás.

Pokud používáte vyhledávací stránku ze Search Center, zvolte Edit Page.

image

Najděte web part Search Core Results a zvolte Edit Web Part:

image

Ve skupině Result Query Options povolte možnost Enable Search Term Stemming:

image

Poté potvrďte a uložte změny ve stránce. Pokud nepoužíváte Search Center, objevují se výsledky na stránce osssearchresults.aspx, která se nachází v souborovém systému každého ze serverů technologie SharePoint. Najdete ji ve složce %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\. Tento soubor je třeba upravit tak, že do všech výskytů značky SearchWC:CoreResultsWebPart dopíšete podtržený text:

<SearchWC:CoreResultsWebPart runat="server" EnableStemming="true" ...další atributy... />


Správný jazyk při vyhledávání

Poslední důležitou věcí je správná volba jazyka při vyhledávání, v našem případě samozřejmě češtiny. Ten se určuje v následujícím pořadí. Nejvyšší prioritu má nastavení preferencí daného uživatele, které lze měnit prostřednictvím stránky, která se zobrazí po přechodu na odkaz Preferences vedle vyhledávacího boxu, případně posléze vybrán na vyhledávací stránce ze seznamu vybraných jazyků:

image

Pokud není tímto způsobem žádný jazyk vybrán, použije se jazyk nastavený u vyhledávacího web partu. Postup jeho nastavení je analogický s nastavením povolení všech tvarů slova. V případě stránky ze Search Centra se jedná o vlastnost Query Language (viz obrázek výše), v případě použití stránky osssearchresults.aspx je třeba upravit tak, že do všech výskytů značky SearchWC:CoreResultsWebPart dopíšete podtržený text:

<SearchWC:CoreResultsWebPart runat="server" QuerySideLanguage="1029" EnableStemming="true" ...další atributy... />

Pokud ani tento jazyk není nastaven, použije se první jazyk nastavený v internetovém prohlížeči (v případě Internet Exploreru se nastavení provádí pomocí Tools/Internet Options/Languages):

image

Ověření správné funkce

V případě, že jste správně provedli jednotlivé kroky, měli byste být schopni nalézt všechny tvary slova, podobně jako v následujícím zajímavém článku:

image

- Michael Juřek