CONTAINSSEMANTIC predicaat

Het predicaat CONTAINSSEMANTIC maakt deel uit van de WHERE-component en biedt ondersteuning voor semantisch zoeken binnen geïndexeerde inhoud. De component kan worden gebruikt om te zoeken naar tekst of afbeeldingen op basis van hun semantische gelijkenis, in plaats van alleen exacte trefwoordovereenkomsten.

Hier volgt de basissyntaxis van het predicaat CONTAINSSEMANTIC:

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

De parameter ContentType geeft aan of de zoekopdracht naar tekst of afbeeldingen is. Toegestane waarden zijn 'tekst' of 'afbeelding'.

De fulltext_column verwijzing is optioneel. Hiermee kunt u de zoekopdracht beperken tot één kolom of een kolomgroep waarmee het predicaat CONTAINSSEMANTIC wordt getest. Wanneer fulltext_column is opgegeven als *, worden alle geïndexeerde teksteigenschappen doorzocht. Hoewel de kolom geen teksteigenschap hoeft te zijn, kunnen de resultaten betekenisloos zijn als de kolom een ander gegevenstype is. De kolomnaam kan een gewone of gescheiden id zijn en u moet deze scheiden van de voorwaarde door een komma. Als er geen fulltext_column is opgegeven, wordt de kolom System.Search.Contents, de hoofdtekst van het document, gebruikt.

Het LCID-gedeelte van het predicaat geeft de landinstelling voor zoeken op. Dit geeft de zoekmachine de opdracht om de juiste woordonderbreker en inflectionele formulieren voor de zoekquery te gebruiken. Als u de landinstelling wilt opgeven, geeft u de Standaardtaalcode-id (LCID) van Windows op. 1033 is bijvoorbeeld de LCID voor Het Engels in de Verenigde Staten. Plaats de LCID als het laatste item in de haakjes van de CONTAINSSEMANTIC-clausule. Zie Gelokaliseerde zoekopdrachten gebruiken voor belangrijke informatie over zoeken en talen.

De traditionele indexering en zoekopdrachten blijven naadloos werken voor alle ondersteunde taalpakketten in Windows. De verbeterde zoekfunctie is echter alleen geoptimaliseerd voor deze talen:

Language LCID-waarde
Engels (VS) 1033
Engels (CA) 4105
Engels (AU) 3081
Engels (GB) 2057
Frans (FR) 1036
Frans (CA) 3084
Duits (DE) 1031
Spaans (ES) 3082
Spaans (MX) 2058
Japans (JP) 1041
Chinees (vereenvoudigd) 2052

Opmerking

De standaardlandinstelling voor zoeken is de standaardlandinstelling van het systeem.

Zie naslaginformatie over LCID-waarden (Windows Language Code Identifier) voor meer informatie over LCID-waarden.

Het search_text_phrase gedeelte moet tussen enkele aanhalingstekens staan voor enkele woorden of dubbele aanhalingstekens voor woordgroepen en bestaat uit een of meer zoektermen voor inhoud die worden gecombineerd met behulp van de logische operatoren AND of OR. U kunt de optionele unaire operator NOT na een AND-operator gebruiken om de logische waarde van een inhoudszoekterm te vernieten.

Opmerking

De operator NOT kan alleen optreden na AND. U kunt de operator NOT niet gebruiken als er slechts één overeenkomstvoorwaarde is, of na de operator OR.

U kunt haakjes gebruiken om zoektermen voor inhoud te groeperen en te nesten. In de volgende tabel wordt de volgorde van prioriteit voor de logische operators beschreven.

Ordening (prioriteit) Logische operator
Eerste (hoogste) NIET
Second EN
Derde (laagste) OR

Logische operatoren van hetzelfde type zijn associatief en er is geen opgegeven berekeningsvolgorde. (A EN B) EN (C EN D) kunnen bijvoorbeeld worden berekend (B EN C) EN (A EN D) zonder dat het logische resultaat wordt gewijzigd.

Example

In het volgende voorbeeld ziet u een query voor documenten en afbeeldingen met betrekking tot de uitdrukking 'familie op een strand' met behulp van de CONTAINSSEMANTIC-clausule.

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-clause

Conceptueel

Volledige Tekstpredicaten

Niet-volledige-tekstvoorwaarden