Blog

[Spring][258] FULLTEXT indexing

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