본문 바로가기

wow db Log/ms-sql

[팁] Full Text Search 설정

mssql 2005버전은 텍스트 검색 엔진이 기본 설치가 되어있다.
----------------------------------------------------------------------------------------------
--############################################################################################
--<고려사항>
--반드시 키값 컬럼이 있어야만 하며 Composite Index 사용 불가.
--기본키나 Unique Index와 같은 컬럼이 하나 있어야만 하며 두개의 컬럼의 값을 하나의
--인덱스 키로 잡는 Composite Index로는 사용이 불가 합니다.
----------------------------------------------------------------------------------------------
--------------------------------------------------------
--1. 검색엔진 활성화(활성화되어야 카탈로그생성가능함)
--------------------------------------------------------
SP_FULLTEXT_DATABASE @ACTION = 'enable'

--------------------------------------------------------
--2. 전체카탈로그 생성
--------------------------------------------------------
CREATE FULLTEXT CATALOG PostFullTextSearch
IN PATH 'D:\DataFile\FullTextSearch' --생성경로
AS DEFAULT

--생성여부 확인
SELECT * FROM SYS.FULLTEXT_CATALOGS


--------------------------------------------------------
--3. 전체텍스트 인덱스 생성
--------------------------------------------------------
CREATE FULLTEXT INDEX ON tablename(col1,col2)
KEY INDEX IDX_index_UNIQUE --생성시에 키열은 앞에서 Primary Key로 지정한 PK_ID를 설정한다.
ON PostFullTextSearch --생성될 카탈로그명
WITH CHANGE_TRACKING AUTO --변경된 내용의 유지관리 자동으로 설정(많은변경일어날때 성능에 안좋을수 있음)
--WITH CHANGE_TRACKING MANUAL --수동이나 SQL서버 에이전트를 이용하여 설정된 일정으로 업데이트 가능함
--WITH CHANGE_TRACKING OFF --사용안함


 --##인덱스 생성 정보 확인
 EXEC SP_HELP_FULLTEXT_TABLES

--------------------------------------------------------
--##전체텍스트 관련사항 삭제
--------------------------------------------------------
DROP FULLTEXT INDEX ON tablename

--##전체텍스트 카탈로그 삭제
DROP FULLTEXT CATALOG PostFullTextSearch

--##카탈로그 지웠을 경우 실행해줌
BACKUP LOG dbname WITH NO_LOG --카탈로그를 다시 생성하기 위해서 실행(의미없음)