재우니의 블로그

 

 

 

MSSQL FULLTEXTSEARCH 로 contains 활용하기 (본문검색)

 

 

설치형 MSSQL 에서 구축하기

 

아래 FULLTEXTSEARCH 엔진을 통해 제목과 내용 검색을 하도록 하였습니다. 

아래 구문은 차후 서버에 이관 , FTS 설정을 수동으로 할경우를 대비하여 만든 쿼리 구문입니다.

 

 

use LocalNaeil

 

-- default fulltext language 를한국어로~

EXEC sp_configure 'show advanced option', '1'; 

exec sp_configure 'default full-text language',1042

reconfigure with override

 

 

-- database fulltext 활성화

exec sp_fulltext_database 'enable'

 

-- 카테고리조회
select * from sys.fulltext_catalogs
 

-- 카테고리생성
CREATE FULLTEXT CATALOG UNIV_Article_FTS
IN PATH 'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\fulltext' as default

 
-- fulltext index 생성하기
CREATE FULLTEXT INDEX ON dbo.UNIV_Article(TITLE, ContentsTextOnly)
key index PK_UNIV_Article
on UNIV_Article_FTS
WITH CHANGE_TRACKING AUTO
 
-- fulltext index 속성확인
select OBJECT_NAME(OBJECT_ID), * from sys.fulltext_index_columns
 
-- fulltext index table 확인
exec sp_help_fulltext_tables
 
select Title, ContentsTextOnly, ID from UNIV_Article 
	where  contains(Title,'라인') 
	OR contains(ContentsTextOnly,'라인')

GO

 


 

 

AWS 에 설치되어 있는 RDS 경우

 

AWS 에 설치되어 있는 RDS 경우는 아래와 같이 사용하시면 됩니다.

 

exec sp_fulltext_database 'enable'

 

-- FTS 만들기

create fulltext catalog UNIV_COM_TrackingUser_FTS as default

 

-- FTS 에 특정 테이블의 필드값 설정하기

 

CREATE FULLTEXT INDEX ON dbo.UNIV_COM_TrackingUser(RefererAccessed,comment)
key index PK_UNIV_COM_TrackingUser
on UNIV_COM_TrackingUser_FTS
WITH CHANGE_TRACKING AUTO

 

 

-- 특정 테이블에서 FTS 로 조건문 걸어보기

 

select comment from UNIV_COM_TrackingUser 
where  contains(Comment,'게시판')