본문 바로가기

유용한것들

MySQL FULLTEXT 한글 두글자 검색방법

MySQL 5.6버전을 사용하고 있어서 n-gram을 사용할 수 없다.


그나마 5.6버전이여서 FULLTEXT 인덱스를 사용할 수 있었는데,


두글자 검색이 안된다..


찾아보니 my.cnf 에서 파라미터 수정을 해야 한다고 한다.



대부분의 글에서는 ft_min_word_len 파라미터를 2로 바꾸라고만 하지만,


innoDB를 사용중이면 innoDB에서의 FT 토큰 최소값을 낮춰줘야 한다. (기본값은 둘다 3으로 되어 있다)


따라서 innodb_ft_min_token_size 값을 2로 바꿔주면 두글자 검색이 가능하다.



변경 후 DB 인스턴스를 리부팅하고, FULLTEXT INDEX를 사용하려는 테이블에 인덱스를 다시 걸어줘야 한다.





참고로 AWS RDS는 RDS 대시보드에서 파라미터를 수정할 수 있다.