Teilen über


FREETEXT-Prädikat

Das FREETEXT-Prädikat ist Teil der WHERE Klausel und unterstützt die Suche nach Wörtern und Ausdrücken in Textspalten. Verwenden Sie das FREETEXT-Prädikat, um Dokumente zu finden, die Kombinationen der Suchbegriffe enthalten, die sich über den angegebenen Inhalt oder spalten erstrecken. Um den Rangwert abzurufen, schließen Sie System.Search.Rank ein, bei dem es sich um eine Rangfolge der Relevanz handelt, als Spalte in der SELECT-Anweisung.

Das FREETEXT-Prädikat weist die folgende Syntax auf:

FREETEXT
(["<fulltext_column>",]'<freetext_condition>'[,<LCID>])...

Der Volltextspaltenverweis ist optional. Damit können Sie eine einzelne Spalte oder einen Spaltengruppierungsalias angeben,, auf das das FREETEXT-Prädikat getestet wird. Wenn die Volltextspalte als "ALL" oder "*" angegeben wird, werden alle indizierten Texteigenschaften durchsucht. Obwohl die Spalte keine Texteigenschaft sein muss, können die Ergebnisse bedeutungslos sein, wenn die Spalte einen anderen Datentyp aufweist. Der Spaltenname kann entweder ein regulärer oder durch Trennzeichen getrennter Bezeichnersein, und Sie müssen ihn von der Bedingung durch ein Komma trennen. Wenn keine Volltextbedingung angegeben wird, wird die Spalte "Inhalt", die den Textkörper des Dokuments darstellt, verwendet.

Sie können ein Suchgebietsschema angeben, um die entsprechenden Wörtertrennungs- und Inflectionalformulare für die Suchabfrage zu identifizieren. Gültige Gebietsschemawerte sind ein Windows-Standardsprachencodebezeichner (LCID). Beispielsweise ist 1033 die LCID für Us-Englisch. Platzieren Sie die LCID als letztes Element in den Klammern der FREETEXT-Klausel. Wichtige Informationen zu Suchen und Sprachen finden Sie unter Verwenden lokalisierter Suchvorgänge.

Anmerkung

Das Standardmäßige Suchgebietsschema ist das Systemstandardgebietsschema.

 

Sie müssen den Freitextbedingungsteil in einfache Anführungszeichen setzen und muss aus einem oder mehreren Suchbegriffen bestehen. Das FREETEXT-Prädikat unterstützt keine logischen Vorgänge. Wenn Sie nach einem Ausdruck suchen möchten, als wäre es ein einzelnes Wort, schließen Sie den Ausdruck in doppelte Anführungszeichen ein.

Wenn Sie das FREETEXT-Prädikat verwenden, geben die Suchergebnisse Dokumente zurück, die alle Suchbegriffe enthalten. Die Begriffe müssen nicht in einer bestimmten Reihenfolge angezeigt werden. Dokumente, die mehr der Suchbegriffe enthalten, weisen höhere Rangspaltenwerte auf.

Beispiele

Im folgenden Beispiel wird nach Dokumenten gesucht, die "Computer", "Software", "Hardware" oder Kombinationen dieser Wörter enthalten:

WHERE FREETEXT('computer software hardware')

Anmerkung

Sie können sowohl den Abgleich mit einem Wort als auch den Ausdrucksabgleich nicht im gleichen FREETEXT-Prädikat verwenden.

 

Beim Ausführen von Abfragen mit Kontrakten müssen Sie das Anführungszeichen in der Kontraktion bei Verwendung von FREETEXT, aber nicht bei Verwendung von CONTAINS escapen.

Die folgende Syntax schlägt z. B. fehl:

WHERE FREETEXT(*,'"We'll meet next week"')

Die richtige Syntax enthält zwei einfache Anführungszeichen, keine doppelte Anführungszeichen.

Die folgende Syntax ist erfolgreich:

WHERE FREETEXT(*,'"We''ll meet next week"')

Referenz-

CONTAINS-Prädikat

WHERE-Klausel

Konzeptionelle

Nicht-Full-Text Prädikate