Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A CONTAINSSEMANTIC predikátum a WHERE záradék része, és támogatja az indexelt tartalom szemantikai keresését. A záradék használható arra, hogy a szemantikai hasonlóságuk alapján keressen szöveget vagy képeket, és ne csak a kulcsszavak pontos egyezéseit.
A CONTAINSSEMANTIC predikátum alapszintaxisa a következő:
...CONTAINSSEMANTIC (ContentType, [<fulltext_column or #list>,] search_text_phrase, LCID) ...
A ContentType paraméter megadja, hogy a keresés szövegre vagy képekre irányul-e. Az engedélyezett értékek a "szöveg" vagy a "kép".
A fulltext_column hivatkozás nem kötelező. Ezzel egyetlen oszlopra vagy olyan oszlopcsoportra korlátozhatja a keresést, amelyre a CONTAINSSEMANTIC predikátumot teszteli. Ha fulltext_column "*" értékként van megadva, a rendszer az összes indexelt szövegtulajdonságban keres. Bár az oszlopnak nem kell szöveges tulajdonságnak lennie, az eredmények értelmetlenek lehetnek, ha az oszlop más adattípus. Az oszlopnév lehet normál vagy tagolt azonosító, és vesszővel kell elválasztani a feltételtől. Ha nincs megadva fulltext_column, a rendszer a System.Search.Contents oszlopot használja, amely a dokumentum törzse.
A predikátum LCID része határozza meg a keresési területi beállításokat. Ez arra utasítja a keresőmotort, hogy a keresési lekérdezéshez a megfelelő szótörési és inflexiós űrlapokat használja. A területi beállítás megadásához adja meg a Windows standard nyelvi kódazonosítóját (LCID). Az 1033 például az egyesült államokbeli-angol nyelvű LCID. Helyezze az LCID-t az utolsó elemként a CONTAINSSEMANTIC záradék zárójeleibe. A kereséssel és nyelvekkel kapcsolatos fontos információkért lásd: Honosított keresések használata.
A hagyományos indexelés és keresés továbbra is zökkenőmentesen működik a Windows összes támogatott nyelvi csomagján. A továbbfejlesztett keresés azonban csak az alábbi nyelvekre van optimalizálva:
| Nyelv | LCID érték |
|---|---|
| Angol (Egyesült Államok) | 1033 |
| Angol (CA) | 4105 |
| Angol (AU) | 3081 |
| Angol (GB) | 2057 |
| Francia (FR) | 1036 |
| Francia (CA) | 3084 |
| Német (DE) | 1031 |
| Spanyol (ES) | 3082 |
| Spanyol (MX) | 2058 |
| Japán (JP) | 1041 |
| Kínai (egyszerűsített) | 2052 |
Megjegyzés:
Az alapértelmezett keresési helybeállítás megegyezik a rendszer alapértelmezett helyi beállításával.
További információ az LCID-értékekről: Windows Language Code Identifier (LCID) Reference.
A search_text_phrase résznek egyetlen idézőjelbe kell foglalnia az egyszavas vagy a kettős idézőjeleket a kifejezésekhez, és egy vagy több olyan tartalomkeresési kifejezést kell tartalmaznia, amelyet a logikai operátorok és az OR függvények kombinálnak. A nem kötelező NOT operátort az AND operátor után is használhatja a tartalomkeresési kifejezés logikai értékének tagadásához.
Megjegyzés:
A NOT operátor csak az AND után fordulhat elő. A NOT operátort nem használhatja, ha csak egy egyezési feltétel van, vagy az OR operátor után.
Zárójelek használatával csoportosíthatja és beágyazhatja a tartalomkeresési kifejezéseket. Az alábbi táblázat a logikai operátorok elsőbbségi sorrendjét ismerteti.
| Sorrend (elsőbbség) | Logikai operátor |
|---|---|
| Első (legmagasabb) | NEM |
| Second | ÉS |
| Harmadik (legalacsonyabb) | OR |
Az azonos típusú logikai operátorok asszociatívak, és nincs megadva számítási sorrend. Az (A AND B) AND (C ÉS D) például kiszámítható (B ÉS C) ÉS (A ÉS D) a logikai eredmény módosítása nélkül.
Example
Az alábbi példa a CONTAINSSEMANTIC záradék használatával a "család egy strandon" kifejezéssel kapcsolatos dokumentumokra és képekre vonatkozó lekérdezést mutat be.
SELECT * FROM SystemIndex
WHERE CONTAINSSEMANTIC('text', *, 'family on a beach', 1033)
OR CONTAINSSEMANTIC('image', *, 'family on a beach', 1033)
RANK BY MERGE(merge_operation)