Freigeben ü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 über den angegebenen Inhalt oder die angegebenen Spalten verteilt sind. Um den Rangwert abzurufen, schließen Sie System.Search.Rank, eine Rangfolge mit Relevanz, als Spalte in der SELECT-Anweisung ein.

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 Spaltengruppierungsaase angeben, mit dem das FREETEXT-Prädikat getestet wird. Wenn die Volltextspalte als "ALL" oder "*" angegeben ist, werden alle indizierten Texteigenschaften durchsucht. Obwohl die Spalte keine Texteigenschaft sein muss, sind die Ergebnisse möglicherweise bedeutungslos, wenn es sich bei der Spalte um einen anderen Datentyp handelt. Der Spaltenname kann entweder ein regulärer Bezeichner oder ein Trennzeichen sein, und Sie müssen ihn durch ein Komma von der Bedingung trennen. Wenn keine Volltextbedingung angegeben wird, wird die Inhaltsspalte verwendet, die der Textkörper des Dokuments ist.

Sie können ein Suchgebietsschema angeben, um die entsprechenden Wörtertrennungen und Inflectionalformulare für die Suchabfrage zu identifizieren. Gültige Gebietsschemawerte sind ein Windows-Codebezeichner (Standard Language Code Identifier, LCID). Beispielsweise ist 1033 die LCID für USA-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.

Hinweis

Das Standardmäßige Suchgebietsschema ist das Standardgebietsschema des Systems.

 

Sie müssen den Teil der Freitextbedingung in einfache Anführungszeichen einschließen, und er muss aus einem oder mehreren Suchbegriffen bestehen. Das FREETEXT-Prädikat unterstützt keine logischen Vorgänge. Um nach einem Ausdruck zu suchen, als ob es sich um ein einzelnes Wort handelt, 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 Suchbegriffe enthalten, weisen einen höheren Rang für Spaltenwerte auf.

Beispiele

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

WHERE FREETEXT('computer software hardware')

Hinweis

Sie können nicht sowohl den Einwortabgleich als auch den Ausdrucksabgleich im selben FREETEXT-Prädikat verwenden.

 

Wenn Sie Abfragen mit Kontraktionen ausführen, müssen Sie das Anführungszeichen in der Kontraktion mit Escapezeichen versehen, wenn Sie FREETEXT verwenden, aber nicht bei Verwendung von CONTAINS.

Beispielsweise schlägt die folgende Syntax fehl:

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

Die richtige Syntax enthält zwei einfache Anführungszeichen, kein doppeltes Anführungszeichen.

Die folgende Syntax ist erfolgreich:

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

Referenz

CONTAINS-Prädikat

WHERE-Klausel

Konzept

Nicht-Volltext-Prädikate