Konfigurace a správa zastavovacích slov a seznamů zastavovacích slov pro vyhledávání Full-Text
platí pro:SQL Server
azure SQL Database
Aby se fulltextový index nezvětšoval, SQL Server používá mechanismus, který odstraňuje běžně se vyskytující řetězce, které nepřispívají k vyhledávání. Tyto zahozené řetězce se nazývají stopwords. Při vytváření indexu modul Full-Text vynechá stopwords z fulltextového indexu. To znamená, že fulltextové dotazy nebudou obsahovat stopslova.
stopwords. Stop-slovo může být slovo s významem v určitém jazyce. Například v anglickém jazyce se slova jako "a", "and", "is" a "the" vynechávají z fulltextového indexu, protože jsou pro hledání zbytečné. Stop slovo může být také token, který nemá lingvistický význam.
seznam stop. Stopwords se spravují v databázích pomocí objektů označovaných jako stoplisty. Seznam stopslov je seznam slov, která se přiřazují k fulltextovému indexu a používají se při fulltextových dotazech na tento index.
Použití existujícího seznamu stop
Existující seznam stop můžete použít následujícími způsoby:
Použijte seznam stop zadaný systémem v databázi. SQL Server se dodává se systémovým stoplistem, který obsahuje nejčastěji používaná stop slova pro každý podporovaný jazyk, který je ve výchozím nastavení spojený s danými rozpoznávači slov. Kopii seznamu stop systému můžete zkopírovat a přizpůsobit přidáním a odebráním stopslov.
Seznam zastavení systému je nainstalován v databázi Resource.
Použijte existující vlastní seznam stop z jiné databáze v aktuální instanci serveru a podle potřeby přidejte nebo zahoďte zarážky.
Vytvoření nového seznamu stop
Vytvoření nového seznamu stop pomocí Transact-SQL
Použijte CREATE FULLTEXT STOPLIST.
Vytvoření nového seznamu stoplist pomocí sady Management Studio
V Průzkumníku objektů rozbalte server.
Rozbalte Databázea potom rozbalte databázi, ve které chcete vytvořit úplný seznam stop.
Rozbalte úložiště a potom klikněte pravým tlačítkem na Full-Text seznam stop.
Vyberte Nový Full-Text Stoplist.
Zadejte název nového seznamu stoplist.
Volitelně můžete jako vlastníka seznamu stop určit někoho jiného.
Vyberte jednu z následujících možností vytvořit seznam stop:
vytvoření prázdného seznamu stop
Vytvořit ze systému stoplist
Vytvořit z existujícího fulltextového stoplistu
Další informace naleznete v tématu Nový stoplist Full-Text (Obecná stránka).
Vyberte OK.
Použití seznamu stop v fulltextových dotazech
Pokud chcete v dotazech použít seznam stop, musíte ho přidružit k fulltextovém indexu. Seznam stop můžete při vytváření indexu připojit k fulltextovém indexu nebo později změnit index a přidat seznam stop.
Vytvoření fulltextového indexu a přidružení seznamu stop k němu
Použijte "CREATE FULLTEXT INDEX" (Transact-SQL).
Přidružení nebo zrušení přidružení stoplistu k existujícímu fulltextovému indexu
Použijte ALTER FULLTEXT INDEX (Transact-SQL).
Změna zarážky v seznamu stop
Přidání nebo vyřazení z stoplistu pomocí Transact-SQL
Použijte ALTER FULLTEXT STOPLIST (Transact-SQL).
Přidání nebo vyřazení stopwords ze seznamu stoplist pomocí sady Management Studio
V Průzkumníku objektů rozbalte server.
Rozbalte Databázea potom databázi rozbalte.
Rozbalte úložištěa vyberte stoplisty fulltextu.
Pravým tlačítkem myši klikněte na seznam stop, jehož vlastnosti chcete změnit, a vyberte Vlastnosti.
V dialogovém okně Full-Text Vlastnosti seznamu stop:
V seznamu Akce vyberte jednu z následujících akcí: Přidat stopslovo, Odstranit stopslovo, Odstranit všechna stopslovanebo Vymazat seznam stopslov.
Pokud je pro vybranou akci povolené textové pole stopslovo, zadejte jedno stopslovo. Toto stop slovo musí být jedinečné; tedy, ještě není v tomto seznamu zastavovacích slov pro jazyk, který vyberete.
Pokud je seznam celotextových jazyků povolen pro vybranou akci, vyberte jazyk.
Vyberte OK.
Správa seznamů stop a jejich využití
Zobrazit všechna stop slova v seznamu stopslov
Použijte sys.fulltext_stopwords (Transact-SQL).
Získejte informace o všech stoplistech v aktuální databázi
Použijte sys.fulltext_stoplists (Transact-SQL) a sys.fulltext_stopwords (Transact-SQL).
Zobrazit výsledek tokenizace kombinace dělitele slov, slovníku synonym a stoplistu
Použijte sys.dm_fts_parser (Transact-SQL).
Potlačit chybovou zprávu, pokud stopwords způsobí selhání Booleovské operace ve fulltextovém vyhledávání
Použijte možnost konfigurace serveru pro transformaci zanedbatelných slov.
Další informace o pozici zarážky
Ačkoli ignoruje zahrnutí stopslov, fulltextový index bere v úvahu jejich pozici. Představte si například frázi "Pokyny platí pro tyto modely Adventure Works Cycles". Následující tabulka znázorňuje pozici slov ve frázi:
Slovo | Postavení |
---|---|
Instrukce | 1 |
jsou | 2 |
aplikovatelný | 3 |
k | 4 |
tyto | 5 |
Dobrodružství | 6 |
Díla | 7 |
Cykly | 8 |
modely | 9 |
Stopwords "are", "to" a "these", které jsou na pozicích 2, 4 a 5, zůstanou mimo fulltextový index. Jejich poziční informace jsou však zachovány, takže pozice ostatních slov ve frázi není ovlivněna.
Upgrade slov šumu z SQL Serveru 2005
Nepodstatná slova v SQL Serveru 2005 (9.x) byla nahrazena stop slovy. Když je databáze upgradována z SQL Serveru 2005 (9.x), soubory slov šumu se už nepoužívají. Soubory slov šumu jsou však uloženy ve složce FTDATA\ FTNoiseThesaurusBak a můžete je použít později při aktualizaci nebo sestavení odpovídajících seznamů stop. Informace o upgradu souborů hlukových slov na stoplisty naleznete v tématu Upgrade Full-Text Vyhledávání.