Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche

Gilt für:SQL ServerAzure SQL-Datenbank

Um zu verhindern, dass ein Volltextindex aufgebläht wird, verfügt SQL Server über einen Mechanismus, der häufig vorkommende Zeichenfolgen verwirft, die der Suche nicht helfen. Diese verworfenen Zeichenfolgen werden als Stoppwörterbezeichnet. Während der Indexerstellung lässt die Volltext-Engine Stoppwörter vom Volltextindex weg. Dies bedeutet, dass Volltextabfragen nicht nach Stoppwörtern suchen.

Stoppwörter. Ein Stoppwort kann ein Wort mit einer Bedeutung in einer bestimmten Sprache sein. Beispielsweise werden in der englischen Sprache Wörter wie "a", "and", "is" und "the" im Volltextindex ausgelassen, da sie erfahrungsgemäß keinen Beitrag zur Suche leisten. Ein Stoppwort kann auch ein Token ohne linguistische Bedeutung sein.

Stopplisten Stoppwörter werden über Objekte mit dem Namen "Stoplisten" in Datenbanken verwaltet. Eine Stoppliste ist eine Liste mit Stoppwörtern, die, wenn sie einem Volltextindex zugeordnet ist, auf Volltextabfragen für diesen Index angewendet wird.

Verwenden einer vorhandenen Stoppliste

Eine vorhandene Stoppliste können Sie folgendermaßen verwenden:

  • Verwenden Sie die vom System bereitgestellte Stoppliste in der Datenbank. SQL Server wird mit einer Systemstoppliste ausgeliefert, die die am häufigsten verwendeten Stoppwörter für jede unterstützte Sprache enthält, d. h. für jede Sprache, die bestimmten Worttrennungen zugeordnet ist. Sie können die Systemstoppliste kopieren und Ihre Kopie durch das Hinzufügen und Entfernen von Stoppwörtern anpassen.

    Die Systemstoppliste ist in der Ressourcendatenbank installiert.

  • Verwenden Sie eine vorhandene benutzerdefinierte Stoppliste aus einer anderen Datenbank in der aktuellen Serverinstanz, und fügen Sie anschließend Stoppwörter nach Bedarf hinzu oder löschen sie sie.

Erstellen einer neuen Stoppliste

Erstellen einer neuen Stoppliste mit Transact-SQL

Verwenden Sie CREATE FULLTEXT STOPLIST.

Erstellen einer neuen Stoppliste mit Management Studio

  1. Erweitern Sie im Objekt-Explorer den Server.

  2. Erweitern Sie Datenbanken, und erweitern Sie dann die Datenbank, in der die Volltext-Stopliste erstellt werden soll.

  3. Erweitern Sie Speicher, und klicken Sie dann mit der rechten Maustaste auf Volltext-Stopplisten.

  4. Wählen Sie Neue Volltext-Stoppliste.

  5. Geben Sie den Namen der neuen Stoppliste ein.

  6. Optional können Sie eine andere Person als Besitzer der Stoppliste angeben.

  7. Wählen Sie eine der folgenden Optionen zur Erstellung der Stoppliste:

    • Leere Stoppliste erstellen

    • Aus der Systemstoppliste erstellen

    • Aus vorhandener Volltext-Stoppliste erstellen

    Weitere Informationen finden Sie unter New Full-Text Stoplist (Allgemeine Seite).For more information, see New Full-Text Stoplist (General Page)

  8. Klicken Sie auf OK.

Verwenden einer Stoppliste in Volltextabfragen

Wenn Sie eine Stoppliste in Abfragen verwenden möchten, müssen Sie diese einem Volltextindex zuordnen. Sie können einem Volltextindex eine Stoppliste zuordnen, wenn Sie den Index erstellen, oder Sie können den Index später ändern, um eine Stoppliste hinzuzufügen.

Erstellen eines Volltextindexes und Zuordnen zu einer Stoppliste

Verwenden Sie CREATE FULLTEXT INDEX (Transact-SQL).

Zuordnen oder Aufheben der Zuordnung einer Stoppliste zu einem vorhandenen Volltextindex

Verwenden Sie ALTER FULLTEXT INDEX (Transact-SQL).

Ändern der Stoppwörter in einer Stoppliste

Hinzufügen oder Löschen von Stoppwörtern auf einer Stoppliste mit Transact-SQL

Verwenden Sie ALTER FULLTEXT STOPLIST (Transact-SQL).

Hinzufügen oder Löschen von Stoppwörtern auf einer Stoppliste mit Management Studio

  1. Erweitern Sie im Objekt-Explorer den Server.

  2. Erweitern Sie Datenbankenund dann die Datenbank.

  3. Erweitern Sie Speicher, und wählen Sie dann Volltext-Stopplisten.

  4. Klicken Sie mit der rechten Maustaste auf die Stoppliste, deren Eigenschaften Sie ändern möchten, und wählen Sie Eigenschaftenaus.

  5. Im Dialogfeld Volltext-Stopplisten-Eigenschaften :

    1. Wählen Sie im Listenfeld Aktion eine der folgenden Aktionen aus: Stoppwort hinzufügen, Stoppwort löschen, Alle Stoppwörter löschenoder Inhalt der Stoppliste löschen.

    2. Wenn das Textfeld Stoppwort für die ausgewählte Aktion aktiviert ist, geben Sie ein einzelnes Stoppwort ein. Dieses Stoppwort muss eindeutig sein; das heißt, es darf noch nicht in dieser Stoppliste für die Sprache, die Sie auswählen, enthalten sein.

    3. Wenn das Listenfeld Volltextsprache für die ausgewählte Aktion aktiviert ist, wählen Sie eine Sprache aus.

  6. Klicken Sie auf OK.

Verwalten von Stopplisten und ihre Verwendung

Anzeigen aller Stoppwörter in einer Stoppliste

Verwenden Sie sys.fulltext_stopwords (Transact-SQL).

Abrufen von Informationen zu allen Stopplisten in der aktuellen Datenbank

Verwenden Sie sys.fulltext_stoplists (Transact-SQL) und sys.fulltext_stopwords (Transact-SQL).

Anzeigen des Tokenisierungsergebnisses einer Kombination aus Wörtertrennung, Thesaurus und Stopplisten

Verwenden Sie sys.dm_fts_parser (Transact-SQL).

Unterdrücken einer Fehlermeldung, wenn ein boolescher Vorgang für eine Volltextabfrage aufgrund von Stoppwörtern fehlschlägt

Verwenden Sie die Füllwörtertransformation (Serverkonfigurationsoption).

Weitere Informationen zur Stoppwortposition

Obwohl der Volltextindex die Inklusion von Stoppwörtern ignoriert, berücksichtigt er ihre Position. Als Beispiel sei der Ausdruck "Instructions are applicable to these Adventure Works Cycles models" angeführt. In der folgenden Tabelle sind die Positionen der Wörter im Ausdruck angegeben:

Word Position
Anweisungen 1
are 2
zutreffend 3
zu 4
these 5
Adventure 6
Works 7
Zyklen 8
Modelle 9

Die Stoppwörter "are", "to" und "these" an den Positionen 2, 4 und 5 werden im Volltextindex ausgelassen. Die Positionsinformationen bleiben jedoch erhalten, sodass die Positionen der anderen Wörter im Ausdruck unverändert bleiben.

Aktualisieren von Füllwörtern von SQL Server 2005

SQL Server 2005 (9.x) Rauschwörter wurden durch Stoppwörter ersetzt. Wenn ein Upgrade einer Datenbank von SQL Server 2005 (9.x) durchgeführt wird, werden die Rauschwortdateien nicht mehr verwendet. Die Füllwortdateien werden jedoch im Ordner "FTDATA\FTNoiseThesaurusBak" gespeichert, und Sie können sie später beim Aktualisieren oder Erstellen der entsprechenden Stoplisten verwenden. Informationen zum Upgrade von Füllwortdateien auf Stoplisten finden Sie unter Upgrade der Volltextsuche.