Bei Problemen mit der Tabellen-Volltextsuche kann es hilfreich sein, am SQL-Server die Liste der Stopwörter für die jeweilige SQL-Tabelle anzupassen bzw. ganz zu deaktivieren. „Stopwörter“ sind Wörter, die bei der Volltextindizierung ignoriert werden – welche Wörter das sind, ist sprachabhängig. Werden keine besonderen Einstellungen gemacht, verwendet der SQL Server eine Standard-Stopwortliste.
Eine Möglichkeit ist es, für eine Tabelle eine eigene Stopwortliste auf Basis der System-Stopwortliste anzulegen und problematische Wörter zu entfernen (die Systemliste kann nicht bearbeitet werden). Alternativ kann pro Tabelle die Stopwortliste auch komplett deaktiviert werden.
Beispiele:
Deaktivieren der Stopwortliste für die Tabelle RARTIK (Artikel):
ALTER FULLTEXT INDEX ON RARTIK SET STOPLIST = OFF
Erstellen einer Stopwortliste auf Basis der Standardliste, Entfernen des Wortes ‚das‘ von der Liste und Aktivieren der Liste für die Tabelle RARTIK (Artikel):
CREATE FULLTEXT STOPLIST myStoplist FROM SYSTEM STOPLIST;
ALTER STOPLIST myStopList DROP ‚das‘ LANGUAGE ‚German‘;
ALTER FULLTEXT INDEX ON RARTIK SET STOPLIST = myStopList;
Eine Auflistung der definierten (deutschen) Stopwörter in einer Stopwortliste kann man wie folgt abfragen:
SELECT * FROM sys.fulltext_stopwords WHERE stoplist_id = 7 AND language_id = 1031
Für Details sei auf die SQL-Server-Dokumentation zum Thema verwiesen:
https://docs.microsoft.com/de-de/sql/relational-databases/search/configure-and-manage-stopwords-and-stoplists-for-full-text-search