Wörtertrennung und Wortstammerkennung
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 "rennend", "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.
Registrierung für die Wörtertrennung
Die Wörtertrennung muss für eine zu verwendende Sprache jeweils registriert sein. Bei registrierten Wörtertrennungen sind die zugeordneten sprachlichen Ressourcen – Wortstammerkennung, Füllwörter (Stoppwörter) und Thesaurusdateien – für Volltextindizierungs- und Volltextabfragevorgänge verfügbar. Wenn Sie eine Liste der Sprachen anzeigen möchten, deren Wörtertrennungen derzeit in SQL Server registriert sind, verwenden Sie die folgende Transact-SQL-Anweisung:
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 Vorgehensweise: Ändern der Liste mit registrierten Wörtertrennungen und Filtern (Transact-SQL).
Mit SQL Server 2008 werden mehrere lizenzierte Wörtertrennungen von Drittanbietern bereitgestellt. Zusätzliche Wörtertrennungen (und Wortstammerkennungen) von Drittanbietern können für mehrere Sprachen (Dänisch, Polnisch und Türkisch) manuell geladen werden. Diese Wörtertrennungen sind standardmäßig nicht aktiviert, weil sie Eigentum Dritter sind, die noch nicht die Teststufe, Sicherheit und Stabilität bereitstellen, die für die standardmäßige Aktivierung erforderlich sind. Weitere Informationen finden Sie unter Vorgehensweise: Laden von lizenzierten Wörtertrennungen von Drittanbietern.
default full-text language (Option)
In lokalisierten Versionen von SQL Server wird die Option default full-text language vom SQL Server-Setup auf die Sprache des Servers festgelegt, falls eine geeignete Übereinstimmung vorhanden ist. Bei einer nicht lokalisierten Version SQL Server wird Englisch für die Option default full-text language verwendet.
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.
Weitere Informationen finden Sie unter default full-text language (Option).
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 Volltextabfrageprädikate (CONTAINS und FREETEXT) und -funktionen (CONTAINSTABLE und FREETEXTTABLE) ausgeführt wird. |
Auswählen einer Sprache beim Erstellen eines Volltextindex für eine 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 vom Volltextmodul in Token zerlegt und anschließend indiziert wird. Weitere Informationen finden Sie unter Bewährte Methoden für das 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;
Auswirkungen neuer Wörtertrennungen in SQL Server 2008
SQL Server 2008 enthält Wörtertrennungen für mehr als 50 Sprachen, von denen 23 auch in SQL Server 2005 vorhanden sind. Nur die Wörtertrennungen für Englisch, Koreanisch, Thailändisch und Chinesisch (alle Formen) bleiben gleich. Für die anderen Sprachen wird in SQL Server 2008 eine neue Generation von Wörtertrennungen eingeführt, die über bessere linguistische Regeln als frühere Wörtertrennungen verfügen und außerdem genauer sind. Ggf. verhalten sich die neuen Wörtertrennungen im Vergleich zu den Wörtertrennungen in importierten SQL Server 2005-Volltextindizes etwas anders. Dies ist wichtig, wenn ein Volltextkatalog importiert wurde, als eine SQL Server 2005-Datenbank auf SQL Server 2008 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 Aktualisieren der Volltextsuche.
Wörtertrennungsversionen für in SQL Server 2005 unterstützte Sprachen
Nur die Wörtertrennungen für Englisch, Koreanisch, Thailändisch und Chinesisch (alle Formen) bleiben gleich. In der folgenden Tabelle sind die Wörtertrennungen aufgeführt, die in SQL Server 2005 enthalten sind, und es ist jeweils angegeben, ob diese in SQL Server 2008 aktualisiert wurden. Eine vollständige Liste aller SQL Server 2008-Wörtertrennungen finden Sie unter sys.fulltext_languages (Transact-SQL).
Hinweis |
---|
Die Wörtertrennungen werden für die meisten Sprachen standardmäßig registriert. Eine Anzahl lizenzierter Wörtertrennungen von Drittanbietern wird jedoch standardmäßig deaktiviert. Informationen zu diesen Sprachen und zum Registrieren dieser Wörtertrennungen finden Sie unter Vorgehensweise: Laden von lizenzierten Wörtertrennungen von Drittanbietern. |
Sprache |
LCID |
Wörtertrennungen |
---|---|---|
Brasilianisch |
1046 |
Neu |
Chinesisch (Hongkong SAR, VR China) |
3076 |
Unverändert |
Chinesisch (Macau SAR) |
5124 |
Unverändert |
Chinesisch (Singapur) |
4100 |
Unverändert |
Dänisch (standardmäßig deaktiviert) |
1030 |
Unverändert |
Niederländisch |
1043 |
Neu |
Englisch |
1033 |
Unverändert |
Englisch (Großbritannien) |
2057 |
Unverändert |
Französisch |
1036 |
Neu |
Deutsch |
1031 |
Neu |
Italienisch |
1040 |
Neu |
Japanisch |
1041 |
Neu |
Koreanisch |
1042 |
Unverändert |
Neutral |
0 |
Neu |
Polnisch (standardmäßig deaktiviert) |
1045 |
Unverändert |
Portugiesisch |
2070 |
Neu |
Russisch |
1049 |
Neu |
Chinesisch (vereinfacht) |
2052 |
Unverändert |
Spanisch |
3082 |
Neu |
Schwedisch |
1053 |
Neu |
Thai |
1054 |
Unverändert |
Chinesisch (traditionell) |
1028 |
Unverändert |
Türkisch (standardmäßig deaktiviert) |
1055 |
Unverändert |
Eine vollständige Liste der unterstützten Sprachen finden Sie unter sys.fulltext_languages (Transact-SQL).
Timeoutfehler 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.
Abrufen von Informationen zu Wörtertrennungen
Anzeigen des Tokenisierungsergebnis einer Kombination aus Wörtertrennung, Thesaurus und Stoppliste
So geben Sie Informationen über die registrierten Wörtertrennungen zurück
Siehe auch