Konfigurujte a spravujte stopová slova a seznamy stop pro Full-Text Vyhledávání

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Aby se zabránilo přetížení indexu plného textu, má Databázový stroj systému SQL Server mechanismus, který vyhazuje běžně se vyskytující řetězce, jež vyhledávání nepomáhají. 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 dotazy v plném textu nevyhledávají na stopwordech.

Term Description
Stopová slova Stop-slovo může být slovo s významem v určitém jazyce. Například v angličtině jsou slova jako a, and, is, a the vynechána z celého textového indexu, protože jsou známa jako nepoužitelná pro vyhledávání. Stopword může být také symbolem , který nemá jazykový význam.
Seznamy vyloučených slov Stopová slova jsou v databázích spravována pomocí objektů nazývaných 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. Database Engine obsahuje systémový stoplist, který obsahuje nejčastěji používaná stopwords pro každý podporovaný jazyk, tedy pro každý jazyk přiřazený daným word breakerům ve výchozím nastavení. Kopii seznamu stop systému můžete zkopírovat a přizpůsobit přidáním a odebráním stopslov.

    Systémový stoplist je nainstalován v databázi zdrojů.

  • Použijte existující vlastní stoplist z jiné databáze v aktuální instanci serveru a pak podle potřeby přidejte nebo vynechávejte stopwordy.

Vytvoření nového seznamu stop

Stoplist můžete vytvořit pomocí Transact-SQL (T-SQL) nebo SQL Server Management Studio (SSMS).

Vytvoření nového seznamu stop pomocí Transact-SQL

Použijte CREATE FULLTEXT STOPLIST.

Vytvořte nový stoplist pomocí SQL Server 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.

Task Metoda
Vytvořte fulltextový index a přidružte jej k seznamu stopslov Použijte CREATE FULLTEXT INDEX.
Přidružení nebo zrušení přidružení stoplistu k existujícímu fulltextovému indexu Použijte ALTER FULLTEXT INDEX.

Změna zarážky v seznamu stop

Stopwordy v seznamu stop můžete upravit pomocí Transact-SQL (T-SQL) nebo SQL Server Management Studio (SSMS).

Přidání nebo vyřazení z stoplistu pomocí Transact-SQL

Použijte ALTER FULLTEXT STOPLIST.

Přidání nebo odebrání stop slov ze seznamu stop slov pomocí SQL Server 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 slovo musí být jedinečné. Nemůže už být v tomto seznamu stop pro jazyk, který si 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í

Použijte následující metody pro zobrazení a správu stoplistů.

Task Metoda
Zobrazit všechna stop slova v seznamu stopslov Použijte sys.fulltext_stopwords.
Získejte informace o všech stoplistech v aktuální databázi Používejte sys.fulltext_stoplists a sys.fulltext_stopwords.
Zobrazit výsledek tokenizace kombinace dělitele slov, slovníku synonym a stoplistu Použijte sys.dm_fts_parser.
Potlačit chybovou zprávu, pokud stopwords způsobí selhání Booleovské operace ve fulltextovém vyhledávání Použijte konfiguraci serveru: transformujte šumová slova.

Více informací o pozici stop slova

Ačkoli index plného textu ignoruje zařazení stopwordů, bere v úvahu jejich pozici. Například uvažujme frázi, Instructions are applicable to these Adventure Works Cycles models. Následující tabulka znázorňuje pozici slov ve frázi:

Slovo Postavení
Instructions 1
are 2
applicable 3
to 4
these 5
Adventure 6
Works 7
Cycles 8
models 9

Stopová slova are, to, a these která jsou na pozicích 2, 4 a 5, jsou v plném textu indexu vynechána. 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

Šumová slova v SQL Server 2005 (9.x) jsou nahrazena stopovými slovy. Když je databáze upgradována z SQL Serveru 2005 (9.x), soubory slov šumu se už nepoužívají. Avšak soubory šumových slov jsou uloženy ve složce FTDATA\FTNoiseThesaurusBak a můžete je později použít při aktualizaci nebo vytváření odpovídajících seznamů stop slov. Informace o upgradu souborů hlukových slov na stoplisty naleznete v tématu Upgrade Full-Text Vyhledávání.