텍스트 인덱스 세션 설정
텍스트 인덱스 세션 설정 (text_index_*)
이 페이지에서는 역 텍스트 인덱스 사용과 관련된 text_index_* 세션 설정들을 다뤄요. 필터 선택성, posting list 교차 알고리즘, LIKE 평가 등을 제어해요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성돼요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.
text_index_hint_max_selectivity
역 텍스트 인덱스에서 만든 힌트를 사용하기 위한 필터의 최대 선택성(selectivity)이에요.
text_index_lazy_intersection_density_threshold
별칭: text_index_density_threshold
지연 posting list 적용 모드(text_index_posting_list_apply_mode = 'lazy')에서 교차 알고리즘을 선택하는 posting list 밀도 임계값이에요.
임계값 미만: leapfrog 교차(희소한 posting list에 유리). 임계값 이상: brute-force 비트맵 교차(밀집한 posting list에 유리).
text_index_like_max_postings_to_read
사전 스캔에 의한 텍스트 인덱스 LIKE 평가가 활성화되었을 때 읽을 큰 postings의 최대 개수예요.
use_text_index_like_evaluation_by_dictionary_scan이 활성화되어 있어야 해요.
text_index_like_min_pattern_length
LIKE/ILIKE 패턴의 영숫자 needle 또는 startsWith/endsWith needle의 최소 길이로, 사전 스캔에 의한 텍스트 인덱스 LIKE 평가를 사용하는 데 필요해요.
이 임계값보다 짧은 패턴은 너무 많은 사전 토큰과 일치하여 비용이 큰 스캔을 피하기 위해 건너뛰어져요.
배열 토크나이저를 사용하면 모든 패턴이 자격을 갖추므로 임계값은 전체 패턴의 비와일드카드 문자 수와 비교돼요.
use_text_index_like_evaluation_by_dictionary_scan이 활성화되어 있어야 해요.
text_index_posting_list_apply_mode
텍스트 인덱스 쿼리 중 posting list가 어떻게 적용되는지 제어해요.
materialize는 posting list를 Roaring Bitmap으로 즉시 디코딩해요.
lazy(기본값)는 커서 기반의 요청 시 디코딩을 사용해요(직렬화된 코덱이 있는 인덱스 형식 필요).
lazy는 지원되는 곳에만 적용돼요: 패턴이 있는 쿼리(예: LIKE)와 이전 버전이 작성한 인덱스가 있는 파츠는 materialize로 폴백돼요.