Konfigurieren und Verwalten von Wörtertrennungen und Wortstammerkennungen für die Suche
Wörtertrennung und Wortstammerkennung führen eine linguistische Analyse aller volltextindizierten Daten aus. Zur linguistischen Analyse gehört das Auffinden von Wortgrenzen (Trennfugen) und das Konjugieren von Verben (Wortstammerkennung). Wörtertrennungen und Wortstammerkennungen sind sprachspezifisch, und die Regeln für die linguistische Analyse unterscheiden sich für verschiedene Sprachen. Für eine bestimmte Sprache identifiziert eine Wörtertrennung einzelne Wörter, indem die Wortgrenzen basierend auf den lexikalischen Regeln der Sprache ermittelt werden. Jedes Wort (auch bezeichnet als Token) wird zur Größenreduzierung in einer komprimierten Darstellung in den Volltextindex eingefügt. Die Wortstammerkennung generiert Flexionsformen eines bestimmten Worts basierend auf den jeweiligen Regeln der Sprache. (Zum Beispiel sind „laufend“, „lief“ und „gelaufen“ verschiedene Formen des Worts „laufen“.)
Wenn Sie sprachspezifische Wörtertrennungen verwenden, können Sie für die jeweilige Sprache genauere Ergebnisbegriffe erzielen. Wenn es eine Wörtertrennung für eine Sprachfamilie gibt, jedoch nicht für die jeweilige Untersprache, wird die Hauptsprache verwendet. Beispielsweise wird Text in kanadischem Französisch mit der Wörtertrennung für Französisch behandelt. Ist für eine Sprache keine Wörtertrennung verfügbar, wird die neutrale Wörtertrennung verwendet. Mit der neutralen Wörtertrennung werden neutrale Zeichen, wie Leerzeichen und Satzzeichen, als Wortgrenzen betrachtet.
Registrieren der Wörtertrennungen
Die Wörtertrennung muss für eine zu verwendende Sprache jeweils registriert sein. Für registrierte Worttrennungen werden zugeordnete linguistische Ressourcen wie Stemmer, Rauschwörter (Stopwords) und Thesaurusdateien auch für Volltextindizierungs- und Abfragevorgänge verfügbar. Verwenden Sie die folgende Transact-SQL-Anweisung, um eine Liste der Sprachen anzuzeigen, deren Worttrennungen derzeit bei SQL Server registriert sind:
SELECT * FROM sys.fulltext_languages
Wenn Sie eine Wörtertrennung hinzufügen, entfernen oder ändern, müssen Sie die Liste der Microsoft Windows-Gebietsschemabezeichner (LCID) aktualisieren, die bei Volltextindizierung und -abfrage unterstützt werden. Weitere Informationen finden Sie unter anzeigen oder Ändern von registrierten filtern und Wörtertrennungen.
Festlegen der Option für die Volltext-Standardsprache
Für eine lokalisierte Version von SQL Server legt SQL Server Setup die default full-text language
Option auf die Sprache des Servers fest, wenn eine entsprechende Übereinstimmung vorhanden ist. Für eine nicht lokalisierte Version von SQL Server ist die default full-text language
Option Englisch.
Beim Erstellen oder Ändern eines Volltextindex können Sie für jede volltextindizierte Spalte eine andere Sprache angeben. Ist für eine Spalte keine Sprache angegeben, wird standardmäßig der Wert der Konfigurationsoption default full-text language
verwendet.
Hinweis
Alle Spalten, die in einer einzelnen Klausel für eine Volltextabfragefunktion aufgelistet sind, müssen dieselbe Sprache verwenden, sofern nicht die LANGUAGE-Option in der Abfrage angegeben ist. Die Sprache der volltextindizierten Spalte, auf die sich die Abfrage bezieht, bestimmt die linguistische Analyse, die mit Argumenten der Volltext-Abfrageprädikate (CONTAINS und FREETEXT) und -Funktionen (CONTAINSTABLE und FREETEXTTABLE) ausgeführt wird.
Auswählen der Sprache für eine indizierte Spalte
Beim Erstellen eines Volltextindex wird empfohlen, die Sprache für jede indizierte Spalte anzugeben. Wenn für eine Spalte keine Sprache angegeben ist, wird die Standardsprache des Systems verwendet. Die Sprache einer Spalte bestimmt, welche Wörtertrennung und Wortstammerkennung zum Indizieren dieser Spalte verwendet wird. Außerdem wird die Thesaurusdatei dieser Sprache bei Volltextabfragen der Spalte verwendet.
Bei der Wahl der Spaltensprache für die Erstellung eines Volltextindex sind mehrere Dinge zu bedenken. Diese beziehen sich darauf, wie der Text von der Volltext-Engine in Token zerlegt und anschließend indiziert wird. Weitere Informationen finden Sie unter Auswählen einer Sprache beim Erstellen eines Volltextindex.
So zeigen Sie die Wörtertrennungssprache einer Spalte an
sys.fulltext_index_columns (Transact-SQL)
SELECT 'language_id' AS "LCID" FROM sys.fulltext_index_columns;
Abrufen von Informationen zu Wörtertrennungen
Anzeigen des Tokenisierungsergebnis einer Kombination aus Wörtertrennung, Thesaurus und Stopliste
So geben Sie Informationen über die registrierten Wörtertrennungen zurück
Behebung von Timeoutfehlern bei der Wörtertrennung
Timeoutfehler können bei der Wörtertrennung in verschiedenen Situationen auftreten. Weitere Informationen zu diesen Situationen sowie zur Behandlung dieser Fehler finden Sie unter MSSQLSERVER_30053.
Auswirkungen der neuen Wörtertrennungen
Jede Version von SQL Server enthält in der Regel neue Worttrennungen, die über bessere linguistische Regeln verfügen und präziser sind als frühere Worttrennungen. Möglicherweise verhalten sich die neuen Worttrennungen etwas anders als die Worttrennungen in Volltextindizes, die aus früheren Versionen von SQL Server importiert wurden. Dies ist wichtig, wenn ein Volltextkatalog importiert wurde, als eine Datenbank auf die aktuelle Version von SQL Server aktualisiert wurde. Eine oder mehrere Sprachen, die von den Volltextindizes im Volltextkatalog verwendet werden, sind jetzt ggf. neuen Wörtertrennungen zugeordnet. Weitere Informationen finden Sie unter Upgrade der Volltextsuche.
Eine vollständige Liste aller Worttrennungen finden Sie unter sys.fulltext_languages (Transact-SQL).
Weitere Informationen
ALTER FULLTEXT INDEX (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
sp_fulltext_service (Transact-SQL)
sys.fulltext_languages (Transact-SQL)
Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche
Upgrade der Volltextsuche