2. DBMS이야기/02. MySQL

MySQL Fulltext Indexing and searching

OSSW(Open Source System SoftWare 2014. 10. 31. 17:07

MySQL 3.23.23 버전부터 Fulltext 인덱스를 지원한다. varchar  text 컬럼에 fulltext 인덱스를 지원하고 MySQL에서 Fulltext search 를 하기 위해서는 특별한 SQL 구문을 사용해야 한다.

 

FULLTEXT 인덱스를 어떤 컬럼에 정의하려 할 때다른 인덱스 처럼 fulltext 인덱스도 여러 컬럼을 포함할 수 있다다음과 같이 Fulltext 인덱스를 정의한다.

 

 ALTER TABLE TB_Test ADD FULLTEXT(col1, col2);

 

이렇게 Fulltext 인덱스를 생성하면, MATCH, AGAINST 구문을 이용해 검색할 수 있다.

 

SELECT (col1, col2 FROM TB_Test

WHERE MATCH (col1, col2) AGAINST ('Hurricane');

 

MATCH 함수는 Fulltext collection에서 컬럼이름을 확인하는 용도로 사용된다. MATCH 함수 안의 컬럼 리스트는 반드시 정확히 Fulltext 인덱스 정의와 같아야 한다.

AGAINST 함수는 Fulltext search 쿼리가 검색하게 한다.


By 윤성용