FULLTEXT index
FULLTEXT 인덱스는 문자열 데이터에 대해 전문 검색 기능을 제공하는 인덱스 유형이다. 이를 사용하면 특정 단어 또는 구문이 포함된 문장을 빠르게 찾을 수 있다. FULLTEXT 인덱스는 전체 문장을 토큰으로 분해하여 효과적으로 검색을 수행할 수 있도록 만들어 준다.
FULLTEXT index에는 두 가지 기법이 있다.
구분자(Stopword) 기법
•
공백, 탭, 문장기호, 또는 사용자 정의 문자열을 구분자로 등록
•
구분자 기법은 이렇게 생성한 구분자를 이용하여 내용을 분리, 키워드를 분석하고 결과 단어를 인덱스로 생성해 두고 검색에 이용하는 방법
•
MySQL에는 기본적으로 지정된 구분자가 있으며, 이를 비활성화할 수 있음.
N-그램(N-Gram) 기법
•
컬럼의 내용을 무조건적으로 N자씩 잘라서 인덱싱하는 방법
•
구분자 기법보다 알고리즘이 복잡하고 크기가 큼
•
다양한 언어에 대한 하나의 규칙을 적용하거나 키워드 일부 검색이 불가능한 구분자 기법을 보완할 수 있음
•
N은 인덱싱할 키워드의 최소 글자 수를 의미하고, 일반적으로 2의 크기를 가짐.