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 következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
A szótörők és a szótövek nyelvileg elemzik az összes teljes szövegként indexelt adatot. A nyelvi elemzés a következő két dolgot végzi el:
Szóhatárok keresése (szótörés). A szóhatároló azonosítja az egyes szavakat a nyelv lexikális szabályai alapján annak meghatározásával, hogy hol vannak a szavak határai. A rendszer minden szót (más néven token) egy tömörített ábrázolással illeszti be a teljes szöveges indexbe a méret csökkentése érdekében.
Konjugált igék (származtatás). A ős az adott szónak az adott nyelv szabályai alapján történő inflektív formáit hozza létre (például a "futás", a "futtatás" és a "futó" a "run" szó különböző formái).
A szótörések és a szótövek nyelvspecifikusak
A szóhatárolók és a szótövezők nyelvfüggők, és a nyelvi elemzés szabályai különböző nyelvek esetén eltérőek. A nyelvspecifikus szóhatárolók pontosabbá teszik az eredményként kapott kifejezéseket az adott nyelvhez.
Az SQL Server adatbázismotor által támogatott összes nyelvhez elérhető szótörők és szótövezők használatához általában nem kell semmit tennie.
Ahol a nyelvcsaládhoz szóhatároló tartozik, de az adott alnyelvhez nem, a fő nyelvet használja a rendszer. A francia szövegtörő például a kanadai francia szöveg kezelésére szolgál.
Ha egy adott nyelvhez nem érhető el szóhatároló, a rendszer a semleges szóválasztót használja. A semleges szóhatárolóval a szavak semleges karakterekre, például szóközökre és írásjelekre vannak törve.
A támogatott nyelvek listájának lekérése
A Full-Text Search által támogatott nyelvek listájának megtekintéséhez használja az alábbi Transact-SQL utasítást. A listában egy nyelv jelenléte azt jelzi, hogy a szóhatárolók regisztrálva vannak a nyelvhez.
SELECT *
FROM sys.fulltext_languages;
A regisztrált szótördelők listájának lekérése
Ahhoz, hogy Full-Text keresés a szóhatárolókat használja egy nyelvhez, regisztrálni kell őket. A regisztrált szótörők esetében a kapcsolódó nyelvi források is elérhetővé válnak teljes szöveges indexelési és lekérdezési műveletekhez. Ezek az erőforrások közé tartoznak a szárszavak, zajszavak (stopwordok) és a szótár fájlok.
A regisztrált szótörési összetevők listájának megtekintéséhez használja az alábbi utasítást.
EXECUTE sp_help_fulltext_system_components 'wordbreaker';
GO
További információ: sp_help_fulltext_system_components.
Ha szóválasztót ad hozzá vagy távolít el
Ha hozzáad, eltávolít vagy módosít egy szóválasztót, frissítenie kell a Teljes szöveges indexeléshez és lekérdezéshez támogatott Microsoft Windows területi azonosítók (LCID-k) listáját. További információ: Szűrők és szóhatárolók testreszabása.
Az alapértelmezett teljes szöveges nyelvi beállítás beállítása
Az SQL Server honosított verziója esetén az SQL Server telepítője a alapértelmezett teljes szöveges nyelvi beállítást a kiszolgáló nyelvére állítja, ha létezik megfelelő egyezés. Az SQL Server nem honosított verziója esetén az alapértelmezett teljes szöveges nyelvi lehetőség az angol.
Teljes szöveges index létrehozásakor vagy módosításakor minden teljes szöveges indexelt oszlophoz megadhat egy másik nyelvet. Ha egy oszlophoz nincs megadva nyelv, az alapértelmezett érték a konfigurációs beállítás értéke, alapértelmezett teljes szöveges nyelv.
Jegyzet
Az egyetlen teljes szöveges lekérdezési függvény záradékában felsorolt összes oszlopnak ugyanazt a nyelvet kell használnia, kivéve, ha a LANGUAGE beállítás meg van adva a lekérdezésben. A lekérdezett teljes szövegű indexelt oszlop nyelvének meghatározása határozza meg a teljes szöveges lekérdezési predikátumok (CONTAINS és FREETEXT) és függvényeinek (CONTAINSTABLE és FREETEXTTABLE) argumentumán végzett nyelvi elemzést.
Indexelt oszlop nyelvének kiválasztása
Amikor teljes szöveges indexet hozol létre, minden indexelt oszlophoz megadj egy nyelvet. Ha nincs megadva nyelv egy oszlophoz, a rendszer az alapértelmezett nyelvet használja. Az oszlop nyelve határozza meg, hogy melyik szóhatárolót és szótövezőt használja a rendszer az oszlop indexeléséhez. A nyelv szinonimaszótárfájlját az oszlop teljes szöveges lekérdezései is használják.
A teljes szöveges index létrehozásához az oszlopnyelv kiválasztásakor érdemes megfontolni néhány szempontot. Ezek a szempontok arra vonatkoznak, hogyan történik a szöveg tokenizálása, majd indexelése a Full-Text Motor által. További információért lásd: Válassz nyelvet teljes szöveges index létrehozásakor.
Az egyes oszlopok szóválasztó nyelvének megtekintéséhez futtassa az alábbi utasítást.
SELECT language_id AS 'LCID'
FROM sys.fulltext_index_columns;
További információ: sys.fulltext_index_columns.
Szótörési időtúllépési hibák elhárítása
Szótörési időtúllépési hiba különböző helyzetekben is felmerülhet. Ezekről a helyzetekről és az egyes helyzetekre való reagálásról további információt a MSSQLSERVER_30053 talál.
Információk a MSSQLSERVER_30053 hibáról
| Ingatlan | Érték |
|---|---|
| Terméknév | SQL Server |
| Eseményazonosító | 30053 |
| Eseményforrás | MSSQLSERVER |
| Komponens | SQLEngine |
| Szimbolikus név | FTXT_QUERY_E_WORDBREAKINGTIMEOUT (Szóelválasztási időtúllépés hiba) |
| Üzenet szövege | A szöveges lekérdezési sztring szóelválasztása időtúllépés miatt megszakadt. Ez akkor fordulhat elő, ha a wordbreaker hosszú ideig tartott a teljes szöveges lekérdezési sztring feldolgozásához, vagy ha nagy számú lekérdezés fut a kiszolgálón. Próbálja meg újra futtatni a lekérdezést egy kisebb terhelés alatt. |
Magyarázat
A szótörési időtúllépési hiba a következő helyzetekben fordulhat elő:
A lekérdezési nyelv szóválasztója helytelenül van konfigurálva. Például a regiszterbeállításai hibásak.
A szóhatároló hibásan működik egy adott lekérdezési sztring esetében.
A szóválasztó túl sok adatot ad vissza egy adott lekérdezési sztringhez. A felesleges adatot potenciális puffertúlterhelési támadásként kezelik, és leállítja a szűrő daemon folyamatot (
fdhost.exe), amely a szóbontó szolgáltatásokat üzemelteti.A szűrődémonfolyamat konfigurációja helytelen.
A leggyakoribb konfigurációs problémák a jelszó lejárata vagy egy olyan tartományi szabályzat, amely megakadályozza a szűrődémonfiók bejelentkezését.
Nagyon nehéz lekérdezési számítási feladat fut a kiszolgálópéldányon. Például a szóelválasztónak hosszú időbe telt a teljes szöveges lekérdezési karakterlánc feldolgozása, vagy nagyszámú lekérdezés fut a kiszolgálón. Ez a legkevésbé valószínű ok.
Felhasználói művelet
Válassza ki az időtúllépés valószínű okának megfelelő felhasználói műveletet az alábbiak szerint:
| Valószínű ok | Felhasználói művelet |
|---|---|
| A lekérdezési nyelv szóválasztója helytelenül van konfigurálva. | Ha harmadik féltől származó szóhatárolót használ, előfordulhat, hogy helytelenül van regisztrálva az operációs rendszerben. Ebben az esetben regisztrálja újra a szótörőt. További információt a Full-Text Search által használt szótörések visszaállítása az előző verzióra című témakörben talál. |
| A szóhatároló hibásan működik egy adott lekérdezési sztring esetében. | Ha az Adatbázismotor támogatja a szótördelőt, vegye fel a kapcsolatot a Microsoft ügyfélszolgálatával és terméktámogatásával. |
| A szóválasztó túl sok adatot ad vissza egy adott lekérdezési sztringhez. | Ha a Database Engine által támogatott szóelválasztóról van szó, vegye fel a kapcsolatot a Microsoft ügyfélszolgálatával és támogatási szolgálatával. |
| A szűrődémonfolyamat konfigurációja helytelen. | Győződjön meg arról, hogy az aktuális jelszót használja, és hogy egy tartományi szabályzat nem akadályozza meg a szűrődémonfiók bejelentkezését. |
| Nagyon nehéz lekérdezési számítási feladat fut a kiszolgálópéldányon. | Próbálja meg újra futtatni a lekérdezést egy kisebb terhelés alatt. |
A frissített szóhatárolók hatásának megismerése
Az Database Engine minden verziója tartalmazhat frissített szótörőket átdolgozott nyelvi szabályokkal. Ezek a frissített szótörők eltérhetnek a teljes szöveges indexekben szereplő szótörőktől, amelyeket a korábbi Database Engine verziókból importáltak.
Ez akkor jelentős, ha teljes szöveges katalógust importáltak, amikor egy adatbázist a Database Engine jelenlegi verziójára frissítettek. Előfordulhat, hogy a teljes szövegű katalógus teljes szöveges indexei által használt egy vagy több nyelv új szóelválasztókkal van társítva. További információért lásd: Frissítés Full-Text Keresés.