Füllwörtertransformation (Serverkonfigurationsoption)

Verwenden Sie die transform noise words Serverkonfigurationsoption, um eine Fehlermeldung zu unterdrücken, wenn Rauschwörter, d . h. Stoppwörter, bewirken, dass ein boolescher Vorgang für eine Volltextabfrage null 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 Füllwörter enthalten. Eine Beschreibung der möglichen Werte finden Sie in der folgenden Tabelle:

Wert BESCHREIBUNG
0 Füllwörter (oder Stoppwörter) werden nicht umgewandelt. Wenn eine Volltextabfrage Füllwörter enthält, gibt die Abfrage 0 Zeilen zurück und SQL Server löst eine Warnung aus. Dies ist das Standardverhalten.

Beachten Sie, dass es sich bei der Warnung um eine Laufzeitwarnung handelt. 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 (oder Stoppwörter) werden umgewandelt. Sie werden ignoriert, und der Rest der Abfrage wird ausgewertet.

Wenn Füllwörter in einem NEAR-Begriff angegeben werden, werden sie von SQL Server entfernt. Das Füllwort is wird beispielsweise aus CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')entfernt, und die Suchabfrage wird in CONTAINS(<column_name>, 'NEAR(hello,goodbye)')umgewandelt. Beachten Sie, dass CONTAINS(<column_name>, 'NEAR(hello,is)') einfach in CONTAINS(<column_name>, hello) umgewandelt werden würde, da es nur einen gültigen Suchbegriff gibt.

Auswirkungen der Einstellung von „Füllwörtertransformation“

In diesem Abschnitt wird das Verhalten von Abfragen mit dem Füllwort "the" unter den alternativen Einstellungen von transform noise words dargestellt. Für die Beispielzeichenfolgen für Volltextabfragen wird angenommen, dass sie in einer Tabellenzeile mit den folgenden Daten ausgeführt werden: [1, "The black cat"].

Hinweis

Alle derartigen Szenarien können eine Füllwortwarnung generieren.

  • Mit „Füllwörtertransformation“ auf „0“ festgelegt:

    Abfragezeichenfolge Ergebnis
    "cat" AND "the" Keine Ergebnisse (das Verhalten ist für "the" AND "cat" genau gleich.)
    "cat" NEAR "the" Keine Ergebnisse (das Verhalten ist für "the" NEAR "cat" genau gleich.)
    "the" AND NOT "black" Keine Ergebnisse
    "black" AND NOT "the" Keine Ergebnisse
  • Mit „Füllwörtertransformation“ auf „1“ festgelegt:

    Abfragezeichenfolge Ergebnis
    "cat" AND "the" Treffer für Zeile mit ID 1
    "cat" NEAR "the" Treffer für Zeile mit ID 1
    "the" AND NOT "black" Keine Ergebnisse
    "black" AND NOT "the" Treffer für Zeile mit ID 1

Beispiel

Mit dem 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  

Weitere Informationen

Serverkonfigurationsoptionen (SQL Server)
CONTAINS (Transact-SQL)