Unterstützte Formen von Abfrageausdrücken (Volltextsuche)

In diesem Thema erhalten Sie eine Einführung in die Formen von Volltextabfragen, die von SQL Server unterstützt werden, sowie eine Zusammenfassung zur Unterstützung der einzelnen Abfrageformen durch die Volltextprädikate und Rowsetwertfunktionen. Volltextabfragen können nur für Spalten ausgeführt werden, für die eine Volltextindizierung ausgeführt wurde.

Form des Abfrageausdrucks

Beschreibung

Unterstützt durch

Mindestens ein Wort oder Ausdruck (einfacher Begriff)

Bei der Volltextsuche wird ein Wort als Token gewertet. Ein Token wird von der entsprechenden Wörtertrennung gemäß den linguistischen Regeln der angegebenen Sprache identifiziert. Ein gültiger Ausdruck kann aus mehreren Wörtern mit oder ohne Satzzeichen dazwischen bestehen.

So ist z. B. "croissant" ein Wort, während "café au lait" ein Ausdruck ist. Solche Wörter und Ausdrücke werden als einfache Begriffe bezeichnet.

Weitere Informationen finden Sie unter Suchen nach einem bestimmten Wort oder Ausdruck (einfacher Begriff).

Bei CONTAINS und CONTAINSTABLE wird nach einer exakten Übereinstimmung mit dem Ausdruck gesucht, und bei FREETEXT und FREETEXTTABLE wird der Ausdruck in einzelne Wörter aufgeteilt.

Ein Wort oder Ausdruck, bei dem die Wörter mit dem angegebenen Text beginnen (Präfixbegriff)

Ein Präfixbegriff ist eine Zeichenfolge, die einem Wort vorangestellt ist, um ein abgeleitetes Wort oder eine Flexionsform zu erhalten.

Bei einem einzelnen Präfixbegriff sind alle Wörter, die mit dem angegebenen Ausdruck beginnen, Teil des Resultsets. Der Ausdruck "Auto*" ergibt also Übereinstimmungen mit "automatisch", "Automobil" usw.

Im Falle eines Ausdrucks wird jedes Wort innerhalb des Ausdrucks als Präfixbegriff interpretiert. Der Begriff "auto tran*" entspricht z. B. "automatic transmission" und "automobile transducer", aber nicht "automatic motor transmission".

Weitere Informationen finden Sie unter Ausführen von Präfixsuchen.

CONTAINS und CONTAINSTABLE

Flexionsformen eines bestimmten Worts (Generierungsbegriff)

Bei den Flexionsformen handelt es sich um die verschiedenen Tempora eines Verbs oder die Singular- und Pluralformen eines Substantivs. Gehen wir davon aus, dass Sie nach der Flexionsform des Wortes "drive" suchen. Wenn mehrere Zeilen in der Tabelle die Wörter "drive", "drives", "drove", "driving" und "driven" enthalten, werden alle in das Resultset aufgenommen, da jedes dieser Wörter durch Flexion aus dem Wort "drive" generiert werden kann.

Weitere Informationen finden Sie unter Suchen nach Flexionsformen eines bestimmten Worts (Generierungsbegriff).

FREETEXT- und FREETEXTTABLE-Abfragen suchen standardmäßig nach den Flexionsformen aller angegebenen Wörter.

CONTAINS und CONTAINSTABLE unterstützen ein optionales INFLECTIONAL-Argument.

Ein Wort oder Ausdruck in der Nähe eines anderen Worts oder Ausdrucks (NEAR-Begriff)

Ein NEAR-Begriff gibt Wörter oder Ausdrücke an, die in der Nähe eines anderen Worts oder Ausdrucks oder von zwei Wörtern oder Ausdrücken in beliebiger Reihenfolge stehen.

Sie suchen beispielsweise die Zeilen, in denen das Wort "ice" sich in der Nähe des Wortes "hockey" oder der Ausdruck "ice skating" sich in der Nähe des Ausdrucks "ice hockey" befindet. Wann zwei Wörter oder Ausdrücke nahe beieinander stehen, wird intern berechnet und kann von Benutzern nicht konfiguriert werden. Beim Berechnen der Nähe werden viele Datenpunkte berücksichtigt.

Diese Art von Abfrage gibt auch Dokumente oder Zeilen zurück, die die Suchbegriffe enthalten, auch wenn diese nicht nahe beieinander stehen. Für diese Ergebnisse gilt in der Rangfolge der Wert null (0).

Weitere Informationen finden Sie unter Suchen nach Wörtern oder Ausdrücken in der Nähe eines anderen Worts oder Ausdrucks (NEAR-Begriff).

CONTAINSTABLE

HinweisHinweis
FREETEXT und FREETEXTTABLE entschlüsseln die Syntax der Nähe als durchsuchbare Zeichenfolgen und geben keine erwarteten Ergebnisse zurück.

Synonyme Formen eines bestimmten Worts (Thesaurus).

Ein Thesaurus definiert vom Benutzer angegebene Synonyme für Ausdrücke. Wird einem Thesaurus beispielsweise ein Eintrag "{car, automobile, truck, van}" hinzugefügt, können Sie nach der Thesaurusform des Wortes "car" suchen. Alle Zeilen in der abgefragten Tabelle, die die Wörter "automobile", "truck", "van" oder "car" enthalten, finden sich im Resultset, weil jedes dieser Wörter zum Synonymerweiterungssatz gehört, der das Wort "car" enthält.

Informationen zur Struktur von Thesaurusdateien finden Sie unter Thesauruskonfiguration.

FREETEXT- und FREETEXTTABLE-Abfragen verwenden standardmäßig den Thesaurus.

CONTAINS und CONTAINSTABLE unterstützen ein optionales THESAURUS-Argument.

Wörter oder Ausdrücke mit gewichteten Werten (gewichteter Begriff)

Ein Gewichtungswert gibt für jedes Wort und jeden Ausdruck in einer Gruppe von Wörtern und Ausdrücken den Grad der Bedeutung an. Der Gewichtungswert 0,0 ist der niedrigste, und 1,0 ist der höchste mögliche Wert.

Sie können beispielsweise in einer Abfrage, in der nach mehreren Begriffen gesucht wird, jedem Suchwort einen Gewichtungswert zuweisen, der dessen Bedeutung im Vergleich zu den anderen Wörtern in der Suchbedingung angibt. In den Ergebnissen für diesen Abfragetyp werden die relevantesten Zeilen zuerst zurückgegeben, entsprechend der relativen Gewichtung, die Sie den Suchwörtern zugewiesen haben. Das Resultset enthält Dokumente oder Zeilen mit beliebigen angegebenen Ausdrücken (bzw. dem umgebenden Inhalt). Einige Ergebnisse werden jedoch als relevanter bewertet, weil den einzelnen Suchausdrücken verschiedene Gewichtungswerte zugeordnet sind.

Weitere Informationen finden Sie unter Suchen nach Wörtern oder Ausdrücken mit gewichteten Werten (gewichteter Begriff).

CONTAINSTABLE

HinweisHinweis
Wenn Sie CONTAINS oder FREETEXT mit gewichteten Ausdrücken verwenden, werden den abgerufenen Begriffen keine Relevanzen zugeordnet. FREETEXT und FREETEXTTABLE entschlüsseln die Gewichtungen als durchsuchbare Zeichenfolgen und geben keine erwarteten Ergebnisse zurück.