서비스 프레임워크 설명서 |
자동완성 모듈은 빠른 응답 시간을 보장하기 위해 사전 및 인덱스를 메모리로 로딩하여 서비스한다. 이에 따라 사전 파일의 크기가 클수록 메모리 요구량도 증가하게 된다. 토큰 기반 자동완성 모드에서는 인덱스에 저장할 토큰의 개수를 제한함으로써 메모리 사용량을 줄일 수 있다. 이 값은 설정 파일에 max_token_count로 설정할 수 있다 디폴트 값은 7이다.
max_token_count=7
예를 들어 "평생 남는 영어 읽기 11 그리스-로마 신화 핵심 7일에 영어로 끝내기"라는 키워드가 있을 때 max_token_count를 5로 설정하면 "평생", "남는", "영어", "읽기", "11"만 인덱스에 포함되고 그 이후의 토큰들은 버려진다.
형태소 분석을 통하면 식별성이 떨어지는 동일한 키들이 많이 발견된다. 예를 들어 B사 서점의 경우 250만 개의 제목에서 추출한 형태소들 중 고빈도 키워드들을 살펴보면 아래와 같다.
키워드 | 빈도수 |
---|---|
the | 580,463 |
of | 490,720 |
and | 343,331 |
a | 241,195 |
in | 206,764 |
2 | 159,381 |
to | 147,165 |
이들 키워드들은 짧은 길이로 인해 식별성은 떨어지지만 매우 많은 빈도수로 인해 메모리를 상당 부분 점유하고 있다. 이러한 키워드들을 인덱스에 포함시키지 않음으로써 필요로 하는 메모리를 절약할 수 있다.
min_token_len_en=3 min_token_len_ko=2
min_token_len_en과 min_token_len_ko는 각각 영문과 한글에서 인덱스에 포함시키기 위해 최소로 필요로 하는 글자 길이이다. 디폴트는 각각 3과 2로서 이보다 적은 길이의 단어들은 인덱스에 포함시키지 않는다. 위의 B사 서점의 예에서 3 보다 적은 of, a, in, 2, to와 같은 단어들은 인덱스에 포함시키지 않는다. 이 옵션은 형태소 분석 결과 토큰에만 적용되며 공백 구분 토큰에는 적용되지 않는다.