Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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)