Full-Text Search
V SD Console a SD WebApp je možné využívat
rychlého vyhledávání pomocí Full-Text Search. K využití této funkce je
nutné mít nainstalovanou komponentu Full-Text and Semantics Extractions for
Search, která je volitelnou součástí SQL Database Engine. Tuto komponentu
lze přidat při prvotní instalaci MS SQL serveru, nebo ji lze
doinstalovat přes instalační balíček SQL Server pro libovolnou edici.
Tip:
Doporučujeme si zkontrolovat zapnutí Full-Text Search a pokud není zapnuté, tak
ho zapnout. Výrazně to zrychlí prohledávání požadavků.
Kontrola zapnutí Full-Text Search
Instalaci a nastavení lze zkontrolovat použitím SQL příkazu:
IF (1 != ISNULL(fulltextserviceproperty('IsFulltextInstalled'),0)) PRINT N'FTS není nainstalováno.' ELSE
IF (1 != ISNULL((SELECT 1 FROM [dbo].[sysfulltextcatalogs] WHERE name = 'ftCatalogAlvao'),0))
PRINT N'FTS není zapnuto.' ELSE PRINT N'FTS je nainstalováno a zapnuto.'
Pokud se vypíše „FTS není nainstalováno“, je potřeba nainstalovat Full-Text
and Semantics Extractions for Search a potom ho nastavit.
Pokud se vypíše „FTS není zapnuto“, je potřeba ho nastavit.
Pokud se vypíše „FTS je nainstalováno a zapnuto“, není již potřeba nic
nastavovat.
Tip:
Pokud byla na serveru v době před upgrade na aktuální verzi nainstalována
komponenta Full-Text and Semantics Extractions for Search, tak se
Full-Text Search zapnulo při upgrade.
Zapnutí Full-Text Search
Pokud není Full-Text Search zapnuto pro použití s databází ALVAO, je potřeba
spustit SQL skript k jeho zapnutí. Tento skript nastaví databázi tak, aby pro
skloňování slov při prohledávání využila jazyk databáze. Pokud chcete tento
jazyk změnit, nahraďte v následujícím skriptu:
DECLARE @languageLCID int;
SELECT TOP 1 @languageLCID = lcid from master..syslanguages where langid = @@DEFAULT_LANGID;
DECLARE @CreateFulltext nvarchar(MAX);
SET @CreateFulltext = N'CREATE FULLTEXT CATALOG ftCatalogAlvao WITH ACCENT_SENSITIVITY = OFF AS DEFAULT;
CREATE FULLTEXT INDEX ON tHdTicket (sHdTicketFullName LANGUAGE '+CAST(@languageLCID AS nvarchar)+N', mHdTicketNotice LANGUAGE '+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tHdTicket_iHdTicketId WITH STOPLIST OFF;
CREATE FULLTEXT INDEX ON tAct (sAct LANGUAGE '+CAST(@languageLCID AS nvarchar)+N', mActNotice LANGUAGE '+CAST(@languageLCID AS nvarchar)+N', sActFrom LANGUAGE '
+CAST(@languageLCID AS nvarchar)+N', sActTo LANGUAGE '+CAST(@languageLCID AS nvarchar)+N', sActToEmail LANGUAGE '+CAST(@languageLCID AS nvarchar)+N', sActFromEmail LANGUAGE '
+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tAct_iActId WITH STOPLIST OFF;
CREATE FULLTEXT INDEX ON tDocument (sDocument LANGUAGE '+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tDocument_iDocumentId WITH STOPLIST OFF;
CREATE FULLTEXT INDEX ON tHdTicketApproval (ApprovalNotice LANGUAGE '+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tHdTicketApproval WITH STOPLIST OFF;
CREATE FULLTEXT INDEX ON tArticle (HtmlArticleBinary TYPE COLUMN HtmlArticleBinaryExt, sArticle, mArticleAnnotation, mArticle LANGUAGE '+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tArticle_iArticleId;
CREATE FULLTEXT INDEX ON tHdTicketApprovalItem (mHdTicketApprovalItemNotes LANGUAGE '+CAST(@languageLCID AS nvarchar)+N') KEY INDEX PK_tHdTicketApprovalItem WITH STOPLIST OFF;';
EXECUTE sp_executesql @CreateFulltext;
druhý řádek řádkem:
SET @languageLCID = 1029
Číslo 1029 nahraďte číslem národního prostředí, jehož jazyk chcete použít.
Následně upravený skript spusťte. Pokud chcete použít jazyk databáze, nic
neměňte a použijte původní skript.
Upozornění:
Vytváření indexů Full-Text Search probíhá asynchronně a může značně zatěžovat
disk.
Upozornění:
Pro spuštění tohoto SQL skriptu potřebuje být členem skupiny sysadmin,
db_owner, nebo db_ddladmin.
Pokud chcete změnit jazyk Full-Text Search po tom, co bylo zapnuto, je
potřeba napřed vypnout Full-Text Search a následně ho znovu zapnout pro jiný
jazyk.
Vypnutí Full-Text Search
Pro vypnutí katalogu Full-Text Search proveďte následující SQL skript:
DROP FULLTEXT INDEX ON tHdTicket;
DROP FULLTEXT INDEX ON tAct;
DROP FULLTEXT INDEX ON tDocument;
IF EXISTS (SELECT * FROM sys.tables t INNER JOIN sys.fulltext_indexes fi ON t.[object_id] = fi.[object_id] WHERE t.name= 'tArticle')
DROP FULLTEXT INDEX ON tArticle;
IF EXISTS (SELECT * FROM sys.tables t INNER JOIN sys.fulltext_indexes fi ON t.[object_id] = fi.[object_id] WHERE t.name= 'tHdTicketApproval')
DROP FULLTEXT INDEX ON tHdTicketApproval;
IF EXISTS (SELECT * FROM sys.tables t INNER JOIN sys.fulltext_indexes fi ON t.[object_id] = fi.[object_id] WHERE t.name= 'tHdTicketApprovalItem')
DROP FULLTEXT INDEX ON tHdTicketApprovalItem;
DROP FULLTEXT CATALOG ftCatalogAlvao;
Tyto příkazy odstraní katalog a všechny indexy Full-Text Search. Po jejich
odstranění už nebude možno použít
rychlé vyhledávání.
Upozornění:
Pro spuštění tohoto SQL skriptu potřebuje být členem skupiny sysadmin,
db_owner, nebo db_ddladmin.
Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.
|