반응형
추가 수정 file
USE FTS;
USE test;
GO
EXEC sp_fulltext_database 'enable'; -- 풀텍스트 서치하겠다 풀텍스트서치할때 반드시 실행
GO
EXEC sp_fulltext_database 'disable'; -- 풀텍스트 서치 안하겠다
GO
--TEST 조회
select top 10 idx, title, writeday, content from tMSSQLQnA
--전체 건수
select count(idx) from tMSSQLQnA
--title 컬럼의 용량
select sum(datalength(title)) from tMSSQLQnA
--대략 1M
--content 컬럼의 용량
select sum(datalength(content)) from tMSSQLQnA
--대략 27M
--전문검색을 활성화 시킵니다.
if (select DATABASEPROPERTY(DB_NAME(), N'IsFullTextEnabled')) <> 1
exec sp_fulltext_database N'enable'
GO
--전문검색 카탈로그가 만약 존재 한다면 삭제 합니다.
if exists (select * from dbo.sysfulltextcatalogs where name = N'ftMSSQLQnA')
exec sp_fulltext_catalog N'ftMSSQLQnA', N'drop'
GO
--전문검색 카탈로그를 생성합니다.
if not exists (select * from dbo.sysfulltextcatalogs where name = N'ftMSSQLQnA')
exec sp_fulltext_catalog N'ftMSSQLQnA', N'create'
GO
--PK확인.- 없으면 생성 합니다.
ALTER TABLE tMSSQLQnA WITH NOCHECK ADD
CONSTRAINT PKtMSSQLQnA PRIMARY KEY CLUSTERED
(
idx
)
GO
--전문검색에 키값을 지정합니다.
exec sp_fulltext_table N'tMSSQLQnA', N'create', N'ftMSSQLQnA', N'PK_tMSSQLQnA'
--전문검색에 컬럼추가 - content 0x0412 : 한글 0x0409 : 영어(미국)
exec sp_fulltext_column N'tMSSQLQnA', N'content', N'add', 0x0412
--전문검색에 컬럼추가 - title
exec sp_fulltext_column N'tMSSQLQnA', N'title', N'add', 0x0412
--전문검색 활성화를 시작합니다.
exec sp_fulltext_table N'tMSSQLQnA', N'activate'
--풀파퓰레이션 시작
EXEC sp_fulltext_catalog 'ftMSSQLQnA', 'start_full'
--증분 파퓰레이션 시작 - Timestamp 컬럼이 없을 경우
EXEC sp_fulltext_catalog 'ftMSSQLQnA', 'start_incremental'
--Timestamp 컬럼을 테이블에 추가.
ALTER TABLE tMSSQLQnA ADD TStamp timestamp NOT NULL
GO
--증분 파퓰레이션 시작
EXEC sp_fulltext_catalog 'ftMSSQLQnA', 'start_incremental'
--필요에 의해 스케줄 구성.
--백업 키워드로 제목 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(title, '"백업"')
--백업 키워드로 글내용 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, '"백업"')
--백* 키워드로 제목 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(title, '"백*"')
--백업 or 리스토어 키워드로 글내용 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, '"백업" or "리스토어"')
--백* or 리스토어 키워드로 글내용 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, '"백*" or "리스토어"')
--백업 near 에러 키워드로 글내용 검색
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, '백업 near 에러')
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE FREETEXT(content, N'에러') -- 전문검색 부분 (전문검색을위한 인덱스를 안해서 에러)
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE content LIKE N'%에러%' -- N'에러' OR '에러' 써도된다 (그냥 서치)
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, '백업 or 에러') -- 풀텍스트 서치
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, N'에러') -- 풀텍스트 서치
SELECT idx, title, writeday, content FROM tMSSQLQnA
WHERE contains(content, N'에러')
OR contains(title,'에러') -- 풀텍스트 서치
'Database > MS-SQL' 카테고리의 다른 글
DB 데이터를 안전하게 보관하자(백업, 복원 스냅숏) (0) | 2008.10.22 |
---|---|
DB 보안과 스키마 (3) (0) | 2008.10.22 |
DB 보안과 스키마 (2) (0) | 2008.10.22 |
DB 보안과 스키마 (1) (0) | 2008.10.22 |
DB 엑세스(Access)에서 MSSQL로 옮기는 방법 + 풀텍스트서치 (Full Text Search) (1) (0) | 2008.10.21 |
DB 전문검색(Full Text Search) 관련 링크 http://sqler.pe.kr/sql2k/151.asp (MSSQL 2000) (0) | 2008.10.21 |
DB 전체 텍스트 검색 서비스 (1) | 2008.10.21 |
쿼리 관련 소스 모음 (0) | 2008.10.20 |