Volltextsuche (SQL Server)

SQL Server 2008 stellt Anwendungen und Benutzern die nötige Funktionalität bereit, um Volltextabfragen in zeichenbasierten Daten in SQL Server-Tabellen ausführen zu können. Bevor Volltextabfragen für eine bestimmte Tabelle möglich sind, muss der Datenbankadministrator einen Volltextindex für die Tabelle erstellen. Der Volltextindex umfasst eine oder mehrere zeichenbasierte Spalten der Tabelle. Diese Spalten können jeden der folgenden Datentypen aufweisen: char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary oder varbinary(max). Jeder Volltextindex indiziert eine oder mehrere Spalten aus der Basistabelle. Für jede Spalte kann hierbei eine eigene Sprache festgelegt sein. Ab SQL Server 2008 unterstützt die Volltextsuche mehr als 50 unterschiedliche Sprachen, wie z. B. Englisch, Spanisch, Chinesisch, Japanisch, Arabisch, Bengali und Hindi. Eine vollständige Liste der unterstützten Volltextsprachen finden Sie unter sys.fulltext_languages (Transact-SQL).

SQL Server stellt für jede unterstützte Sprache sprachspezifische linguistische Komponenten bereit, zu denen eine Wörtertrennung und Wortstammerkennung sowie eine leere Thesaurusdatei gehören. Für jede Volltextsprache stellt SQL Server außerdem eine Datei bereit, in der Sie optional sprachspezifische Synonyme definieren können, um den Umfang von Suchabfragen zu erweitern (eine Thesaurusdatei). Zusätzlich wird beginnend mit SQL Server 2008 eine Systemstoppliste bereitgestellt. Um spezifische Sprachen oder Geschäftsszenarios zu unterstützen, können Sie die Systemstoppliste bearbeiten und relevante Stoppwörter hinzufügen oder unerwünschte Stoppwörter entfernen (auch als Füllwörter bezeichnet). Zudem können Sie nach Bedarf zusätzliche Stopplisten erstellen.

Zum Schreiben von Volltextabfragen stellt SQL Server eine Sammlung mit Volltextprädikaten (CONTAINS und FREETEXT) sowie Rowsetwertfunktionen (CONTAINSTABLE und FREETEXTTABLE) bereit. Mit diesen können Anwendungen und Benutzer eine Vielzahl von Volltextsuchvarianten durchführen, wie z. B. das Suchen einzelner Wörter oder Ausdrücke (mit einer optionalen Rangfolgensortierung des Resultsets), das Suchen eines ähnlichen Worts oder Ausdruck oder das Suchen von synonymen Formen eines bestimmten Worts.

HinweisHinweis

Die Volltextsuche ist eine optionale Komponente des SQL Server-Datenbankmoduls. Weitere Informationen finden Sie unter Installieren von SQL Server 2008.

In diesem Abschnitt