Konfigurieren und Verwalten von Stoppwörtern und Stopplisten für Volltextsuche
Gilt für:SQL ServerAzure SQL-Datenbank
Um zu verhindern, dass ein Volltextindex unnötig aufgebläht wird, verfügt SQL Server über einen Mechanismus, der häufig vorkommende, für die Suche nutzlose Zeichenfolgen ignoriert. 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
Sie können eine vorhandene Stoppliste auf folgende Weise verwenden:
Verwenden Sie die vom System bereitgestellte Stoppliste in der Datenbank. SQL Server umfasst eine Systemstoppliste, die die am häufigsten verwendeten Stoppwörter für jede unterstützte Sprache enthält, d.h. für jede Sprache, die den jeweiligen Wörtertrennungen standardmäßig 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
Erweitern Sie im Objekt-Explorer den Server.
Erweitern Sie Datenbanken, und erweitern Sie dann die Datenbank, in der die Volltext-Stopliste erstellt werden soll.
Erweitern Sie Speicher, und klicken Sie dann mit der rechten Maustaste auf Volltext-Stopplisten.
Wählen Sie Neue Volltext-Stoppliste.
Geben Sie den Namen der neuen Stoppliste ein.
Optional können Sie eine andere Person als Besitzer der Stoppliste angeben.
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 Neue Volltext-Stoppliste /Allgemeine Seite).
Wählen Sie OK aus.
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
Erweitern Sie im Objekt-Explorer den Server.
Erweitern Sie Datenbankenund dann die Datenbank.
Erweitern Sie Speicher, und wählen Sie dann Volltext-Stopplisten.
Klicken Sie mit der rechten Maustaste auf die Stoppliste, deren Eigenschaften Sie ändern möchten, und wählen Sie Eigenschaftenaus.
Im Dialogfeld Volltext-Stopplisten-Eigenschaften :
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.
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.
Wenn das Listenfeld Volltextsprache für die ausgewählte Aktion aktiviert ist, wählen Sie eine Sprache aus.
Wählen Sie OK aus.
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 |
Bis | 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) Füllwörter wurden durch Stoppwörter ersetzt. Wenn eine Datenbank von SQL Server 2005 (9.x) aktualisiert wird, werden die Füllwortdateien 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.