Freigeben über


CONTAINSSEMANTIC-Prädikat

Das CONTAINSSEMANTIC-Prädikat ist Teil der WHERE-Klausel und unterstützt die semantische Suche innerhalb von indizierten Inhalten. Die Klausel kann verwendet werden, um basierend auf ihrer semantischen Ähnlichkeit nach Text oder Bildern zu suchen, anstatt nur nach exakten Schlüsselwort-Übereinstimmungen.

Es folgt die grundlegende Syntax des CONTAINSSEMANTIC-Prädikats:

...CONTAINSSEMANTIC (ContentType, [<fulltext_column or #list>,] search_text_phrase, LCID) ...

Der Parameter ContentType gibt an, ob die Suche nach Text oder Bildern ist. Zulässige Werte sind "Text" oder "Bild".

Der fulltext_column Verweis ist optional. Damit können Sie die Suche auf eine einzelne Spalte oder eine Spaltengruppe beschränken, auf die das CONTAINSSEMANTIC-Prädikat getestet wird. Wenn fulltext_column als "*" 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 normaler oder durch Trennzeichen getrennter Bezeichner sein, und Sie müssen ihn von der Bedingung durch ein Komma trennen. Wenn keine fulltext_column angegeben ist, wird die Spalte "System.Search.Contents", die den Textkörper des Dokuments darstellt, verwendet.

Der LCID-Teil des Prädikats gibt das Suchgebietslocale an. Dadurch wird die Suchmaschine angewiesen, die entsprechenden Worttrennungs- und Inflectionalformulare für die Suchabfrage zu verwenden. Geben Sie zum Angeben des Gebietsschemas den Windows-Standard-Sprachcode-Identifikator (LCID) an. Beispielsweise ist 1033 die LCID für US-Englisch. Platzieren Sie die LCID als letztes Element in den Klammern der CONTAINSSEMANTIC-Klausel. Wichtige Informationen zu Suchen und Sprachen finden Sie unter Verwenden lokalisierter Suchvorgänge.

Die herkömmliche Indizierung und Suche funktionieren weiterhin nahtlos für alle unterstützten Sprachpakete unter Windows. Die verbesserte Suche ist jedoch nur für diese Sprachen optimiert:

Language LCID-Wert
Englisch (USA) 1033
Englisch (CA) 4105
Englisch (AU) 3081
Englisch (GB) 2057
Französisch (FR) 1036
Französisch (CA) 3084
Deutsch (DE) 1031
Spanisch (ES) 3082
Spanisch (MX) 2058
Japanisch (JP) 1041
Chinesisch (vereinfacht) 2052

Hinweis

Das Standardmäßige Suchgebietsschema ist das Systemstandardgebietsschema.

Weitere Informationen zu LCID-Werten finden Sie in der Referenz zu Windows Language Code Identifier (LCID).

Der search_text_phrase Teil muss in einfache Anführungszeichen für einzelne Wörter oder doppelte Anführungszeichen für Ausdrücke eingeschlossen werden und besteht aus einem oder mehreren Inhaltssuchbegriffen, die mit den logischen Operatoren AND oder OR kombiniert werden. Sie können den optionalen unären Operator NOT in Verbindung mit einem AND verwenden, um den Wahrheitswert eines Inhaltssuchbegriffs zu negieren.

Hinweis

Der NOT-Operator kann nur nach AND auftreten. Sie können den NOT-Operator nicht verwenden, wenn nur eine Übereinstimmungsbedingung vorhanden ist oder nach dem OR-Operator.

Sie können Klammern zum Gruppieren und Schachteln von Inhaltssuchbegriffen verwenden. In der folgenden Tabelle wird die Reihenfolge der Rangfolge für die logischen Operatoren beschrieben.

Reihenfolge (Priorität) Logischer Operator
Erster (höchster) NOT
Second AND
Dritter (niedrigster) OR

Logische Operatoren desselben Typs sind assoziativ, und es gibt keine angegebene Berechnungsreihenfolge. Beispielsweise können (A UND B) UND (C UND D) (B UND C) UND (A UND D) ohne Änderung des logischen Ergebnisses berechnet werden.

Example

Das folgende Beispiel zeigt eine Abfrage für Dokumente und Bilder im Zusammenhang mit dem Ausdruck "Familie am Strand" mithilfe der CONTAINSSEMANTIC-Klausel .

SELECT * FROM SystemIndex  
WHERE CONTAINSSEMANTIC('text', *, 'family on a beach', 1033)  
OR CONTAINSSEMANTIC('image', *, 'family on a beach', 1033)  
RANK BY MERGE(merge_operation)

Reference

WHERE-Klausel

Konzeptionell

Volltextprädikate

Nicht-Volltext-Prädikate