transform noise words (Option)
Verwenden Sie die Serverkonfigurationsoption transform noise words, um eine Fehlermeldung zu unterdrücken, wenn Füllwörter bzw. Stoppwörter bewirken, dass eine boolesche Operation für eine Volltextabfrage keine Zeilen zurückgibt. Diese Option ist für Volltextabfragen nützlich, bei denen das CONTAINS-Prädikat verwendet wird, in dem boolesche oder NEAR-Operationen häufige Wörter enthalten. Eine Beschreibung der möglichen Werte finden Sie in der folgenden Tabelle.
Wert |
Beschreibung |
---|---|
0 |
Füllwörter (bzw. Stoppwörter) werden nicht transformiert. Wenn eine Volltextabfrage Füllwörter enthält, werden von der Abfrage keine Zeilen zurückgegeben, und SQL Server gibt eine Warnung aus. Dies ist das Standardverhalten.
Hinweis
Bei der Warnung handelt es sich um eine Laufzeitwarnung. Die Warnung wird daher nicht ausgegeben, wenn die Volltextklausel in der Abfrage nicht ausgeführt wird. Bei lokalen Abfragen wird auch bei mehreren Volltextabfrageklauseln immer nur eine einzige Warnung ausgegeben. Bei Remoteabfragen übermittelt der Verbindungsserver u. U. den Fehler nicht, und die Warnung wird daher möglicherweise nicht ausgegeben.
|
1 |
Füllwörter (bzw. Stoppwörter) werden transformiert. Sie werden ignoriert, und die restliche Abfrage wird ausgewertet. SQL Server entfernt Füllwörter, die in einem NEAR-Begriff angegeben werden. Beispielsweise wird das Füllwort is aus CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)') entfernt, und die Suchabfrage wird zu CONTAINS(<column_name>, 'NEAR(hello,goodbye)') transformiert. Beachten Sie, dass CONTAINS(<column_name>, 'NEAR(hello,is)') lediglich zu CONTAINS(<column_name>, hello) transformiert wird, da nur ein gültiger Suchbegriff enthalten ist. |
Auswirkungen der Einstellung transform noise words
In diesem Abschnitt wird das Verhalten von Abfragen dargestellt, die in den geänderten Einstellungen von transform noise words das Füllwort "the" enthalten. Die Beispielzeichenfolgen für die Volltextabfrage beziehen sich auf die Ausführung für eine Tabellenzeile, die die folgenden Daten enthält: [1, "The black cat"].
Hinweis |
---|
Sämtliche dieser Szenarien können eine Füllwortwarnung zur Folge haben. |
Wenn transform noise words auf 0 (NULL) festgelegt ist:
Abfragezeichenfolge
Ergebnis
"cat" AND "the"
Keine Ergebnisse (Das Verhalten entspricht "the" AND "cat".)
"cat" NEAR "the"
Keine Ergebnisse (Das Verhalten entspricht "the" AND "cat".)
"the" AND NOT "black"
Keine Ergebnisse
"black" AND NOT "the"
Keine Ergebnisse
Wenn transform noise words auf 1 festgelegt ist:
Abfragezeichenfolge
Ergebnis
"cat" AND "the"
Treffer für die Zeile mit der ID 1
"cat" NEAR "the"
Treffer für die Zeile mit der ID 1
"the" AND NOT "black"
Keine Ergebnisse
"black" AND NOT "the"
Treffer für die Zeile mit der ID 1
Beispiel
Im folgenden Beispiel wird transform noise words auf 1 festgelegt.
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO