Mysql 한글로 FullText 시 참고점

Mysq 4.X 버전 부터(3.X 후반대도 지원한다고 본거 같은데 가물가물..) match against를 통해서 fulltext를 지원하고 있는데,
utf-8로 데이터를 저장할 경우 한글도 fulltext검색이 가능하다.

그런데 한글로 fulltext를 할 때 제대로 되지 않는 문제가 발생해서 여기저기 알아 본 결과,
원인은 fulltext시에 최소 문자열 수에 걸려서 제대로 되지 않았던 것.
예를 들어 ‘한글’ 이라는 글자를 match(text) against(‘한글’)로 검색 할 경우 결과가 나오지 않는다.

해결방법은
my.ini파일을 열어서
[mysqld]아래 부분에
ft_min_word_len=2 라고 적은뒤 mysql을 재시작 한다. 이전 인덱스가 있을 경우에는
Repair table tbl_name 으로 인덱스를 다시 잡아줘야 한다.(라고 mysql에 적혀 있다.)

ft_min_word_len의 기본 값이 4이기 때문에 생긴 문제.

Tags:

Comments