Freigeben über


Füllwörtertransformation (Serverkonfigurationsoption)

Verwenden Sie Serverkonfigurationsoption transform noise words, um eine Fehlermeldung zu unterdrücken, wenn durch Füllwörter, bei denen es sich um Stoppwörter handelt, verursacht wird, dass ein boolescher Vorgang für eine Volltextabfrage 0 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.

HinweisHinweis

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 (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 transform noise words-Einstellung

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"].

HinweisHinweis

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

  • Wenn transform noise words auf 0 festgelegt ist:

    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

  • Wenn transform noise words auf 1 festgelegt ist:

    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

Siehe auch

Verweis

CONTAINS (Transact-SQL)

Konzepte

Serverkonfigurationsoptionen