Sdílet prostřednictvím


Konfigurace a správa zastavovacích slov a seznamů zastavovacích slov pro vyhledávání Full-Text

platí pro:SQL Serverazure 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

  1. V Průzkumníku objektů rozbalte server.

  2. Rozbalte Databázea potom rozbalte databázi, ve které chcete vytvořit úplný seznam stop.

  3. Rozbalte úložiště a potom klikněte pravým tlačítkem na Full-Text seznam stop.

  4. Vyberte Nový Full-Text Stoplist.

  5. Zadejte název nového seznamu stoplist.

  6. Volitelně můžete jako vlastníka seznamu stop určit někoho jiného.

  7. 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).

  8. 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

  1. V Průzkumníku objektů rozbalte server.

  2. Rozbalte Databázea potom databázi rozbalte.

  3. Rozbalte úložištěa vyberte stoplisty fulltextu.

  4. Pravým tlačítkem myši klikněte na seznam stop, jehož vlastnosti chcete změnit, a vyberte Vlastnosti.

  5. V dialogovém okně Full-Text Vlastnosti seznamu stop:

    1. V seznamu Akce vyberte jednu z následujících akcí: Přidat stopslovo, Odstranit stopslovo, Odstranit všechna stopslovanebo Vymazat seznam stopslov.

    2. 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.

    3. Pokud je seznam celotextových jazyků povolen pro vybranou akci, vyberte jazyk.

  6. 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í.