sp_fulltext_1.sql: A Full-Text Catalog engedélyezése
Ahhoz, hogy egyáltalán használhassuk egy adatbázisban a Full-Text Catalog-ot, engedélyeznünk kell azt. Ezt az sp_fulltext_database eljárással tehetjük meg.
sp_fulltext_database [@action =] 'action'
Az action paraméterben adhatjuk meg, hogy engedélyezzük, vagy letiltjuk-e a Full-Text Catalog használatát. Az action paraméter értékei az alábbiak lehetnek:
- enable: engedélyezi a Full-Text Catalog használatát;
- disable: letiltja a Full-Text Catalog-ot;
use NorthWind;
exec sp_fulltext_database Enable;
sp_fulltext_2.sql: A Full-Text Catalog létrehozása
A következő lépés, hogy létrehozzunk egy Full-Text Catalog-ot. Egy adatbázisban egyszerre akár több is lehet, bár a legtöbbször elég egy is. A katalógust létrehozni az sp_fulltext_catalog eljárással tudjuk. Ezzel az eljárással nem csak létrehozni, hanem indexelni is tudjuk a katalógust.
sp_fulltext_catalog [ @ftcat = ] 'fulltext_catalog_name' ,
[ @action = ] 'action'
[ , [ @path = ] 'root_directory' ]
Az eljárás paraméterei:
ftcat
Ebben a paraméterben kell megadni a katalógus nevét. Ennek az adatbázison belül egyedinek kell lennie, és meg kell felelnie az elnevezési konvencióknak.
action
Ebben a paraméterben adhatjuk meg, hogy milyen műveletet akarunk végezni a katalógussal. A lehetséges értékek (műveletek) az alábbi táblázatban láthatók:
| Érték |
Leírás |
| Create |
Létrehoz egy új, üres katalógust. |
| Drop |
Törli a katalógust és a hozzá tartozó fájlokat. Csak akkor lehet törölni a katalógust, ha már egyik tábla sem használja (lásd sp_fulltext_table). |
| start_incremental |
Elkezdi a katalógus indexelését, de csak a legutóbbi indexelés óta végrehajtott módosításokat indexeli le. Éppen ezért ez az indexelés viszonylag gyors. |
| start_full |
Teljesen újraindexeli a katalógust. Nagyobb katalógusok esetén ez akár több percig is eltarthat. |
| Stop |
Leállítja az indexelést. Nem kapunk figyelmeztetést, ha nem volt indexelés folyamatban. |
| Rebuild |
Teljesen újraépíti a katalógust. Tulajdonképpen végigcsinálja azokat a műveleteket, amiket egy új katalógus létrehozásakor. Az újraépítés után újra kell indexelni a katalógust. |
path
Ebben a paraméterben adhatjuk meg a katalógushoz tartozó fájlok elérési útvonalát. Nem kötelező megadni.
sp_fulltext_3.sql: Egy tábla adott mezőinek felvétele a katalógusba
Miután elkészült a katalógusunk, felvehetjük az adatbázis táblák szöveges mezőit, persze csak azokat, amelyekre alkalmazni akarjuk a Full-Text Catalog-ot. Az ehhez szükséges tárolt eljárás az sp_fulltext_table.
sp_fulltext_table [ @tabname = ] 'qualified_table_name'
, [ @action = ] 'action'
[ , [ @ftcat = ] 'fulltext_catalog_name'
, [ @keyname = ] 'unique_index_name' ]
Az eljárás paraméterei:
tabname
Ebben a paraméterben adhatjuk meg a tábla nevét.
action
Ebben a paraméterben most is különböző műveleteket adhatunk meg. Ezek a következők:
| Művelet |
Leírás |
| Create |
Létrehozza a full-text katalógusban a táblahivatkozásokat. |
| Drop |
Törli a tábla hivatkozásait a full-text katalógusból. Előtte a tábla mezőit törölni kell a full-text katalógusból. |
| Activate |
Engedélyezi full-text használatát az adott táblában, ha az előtte le volt tiltva. Csak akkor lehet aktiválni, ha a tábla legalább egy mezője szerepel a katalógusban. |
| Deactivate |
Letiltja a full-text használatát az adott táblában. |
| start_change_tracking |
Elkezdi a növekményes (gyors) indexelést valamint a változtatások nyomon követését. Ha a katalógus még nem lett felépítve, akkor teljes indexelést végez. |
| stop_change_tracking |
Leállítja a full-text katalógus változásainak nyomon követését. |
| update_index |
Véglegesíti a nyomon követés során végzett változtatásokat a full-text indexben. |
| start_background_updateindex |
Ugyanaz, mint az update_index, de a művelet a háttérben történik. |
| stop_background_updateindex |
Leállítja a start_background_updateindex műveletet. |
| start_full |
A teljes full-text katalógust újraindexeli. |
| start_incremental |
Elindítja növekményes indexelést. Ha a katalógus már volt indexelve, akkor ez sokkal gyorsabb indexelést tesz lehetővé, mivel csak a módosításokat indexeli le. |
| Stop |
Leállítja a teljes vagy a növekményes indexelést. |
ftcat
A full-text katalógus nevét kell megadnunk ebben a paraméterben.
keyname
A tábla full-text indexének létrehozásakor (action=’create’) ebben a paraméterben kell megadnunk az index nevét.
sp_fulltext_4.sql: Tábla oszlopának felvétele a full-text katalógusba
Egy tábla oszlopát az sp_fulltext_column eljárással tudjuk felvenni a katalógusba.
sp_fulltext_column [ @tabname = ] 'qualified_table_name' ,
[ @colname = ] 'column_name' ,
[ @action = ] 'action'
[ , [ @language = ] 'language' ]
[ , [ @type_colname = ] 'type_column_name' ]
Az eljárás paraméterei:
tabname
Ebben a paraméterben kell megadnunk az oszlopot tartalmazó tábla nevét.
colname
Ebben a paraméterben adhatjuk meg az oszlop nevét. Csak karakteres, vagy image (kép) típusú mező adható meg. A kép típusú mezőből is csak a szöveges adatokat veszi figyelembe.
action
Az eljárással két művelet végezhető el:
- add: az oszlop hozzáadása a full-text katalógushoz;
- drop: az oszlop törlése a katalógusból.
language
Az oszlopban lévő szöveges adatok nyelvét adhatjuk meg ebben a paraméterben. Sajnos a magyar nyelv közvetlenül nem támogatott, helyette a „Neutral” értéket kell megadni.
type_colname
Ebben a paraméterben megadhatjuk az oszlop típusának nevét. Ezt csak akkor kell megtennünk, ha az oszlop image típusú.
sp_fulltext_7.sql: A Full-Text catalog tulajdonságainak megváltoztatása
A katalógus tulajdonságait az sp_fulltext_service eljárással lehetséges.
sp_fulltext_service [@action =] 'action' [ , [ @value = ] 'value' ]
Az eljárás paraméterei:
action
Ebben a paraméterben adhatjuk meg azt a tulajdonságot amit módosítani szeretnénk:
| Művelet |
Leírás |
| resource_usage |
A Microsoft Search Engine által felhasznált erőforrások mennyiségének beállítása. |
| clean_up |
Eltávolítja azokat a katalógus fájlokat, amelyek már nem tartalmaznak érvényes adatokat. |
| connect_timeout |
Megadhatjuk, hogy a Microsoft Search Service hány másodpercig várjon a kapcsolat létrehozásakor, mielőtt a kapcsolatot sikertelenné nyilvánítaná. |
| data_timeout |
Megadhatjuk, hogy a Microsoft Search Service mennyi ideig várjon az adatokra, mielőtt a lekérdezést sikertelennek nyilvánítaná. |
value
Az action paraméterben megadott tulajdonság értékét adhatjuk meg ebben a paraméterben. Ezeket az alábbi táblázatban foglaljuk össze:
| Tulajdonság |
Lehetséges értékek |
| resource_usage |
1From 1-től (háttérben történik) 5-ig (dedikált), az alapértelmezett 3. |
| clean_up |
NULL |
| connect_timeout |
1-től 32767-ig (másodperc) |
| data_timeout |
1-től 32767-ig (másodperc) |