- 와일드카드가 많은 문자열 검색을 빠르게 처리하기 위해 설계된 PostgreSQL 전용 인덱스 접근 방식(IAM)
- 불필요한 heap 접근과 성능 손실이 구조적으로 발생하는 pg_trgm의 한계를 보완
- 문자와 위치를 기준으로 한 Bitmap Position Index를 사용해, 후보 결과를 메모리 내 비트맵 연산으로 정확하게 필터링
- 검색 결과에 대해 heap recheck가 필요 없어 불필요한 랜덤 I/O 제거
- 문자열의 앞·뒤 위치를 모두 인덱싱하는 양방향(positive / negative) 인덱스 구조를 통해 prefix, suffix, substring 패턴을 효율적으로 처리
- 대소문자 구분 없는 검색을 위한 ILIKE 전용 인덱스 경로를 내부적으로 분리해 정확성과 성능을 동시에 확보
- 단일 컬럼뿐 아니라 멀티 컬럼 LIKE 조건을 하나의 인덱스로 처리할 수 있도록 설계
- 각 컬럼의 패턴 선택도를 분석해 자동으로 실행 순서를 재정렬
-
%, _가 혼합된 복잡한 패턴에서도 거짓 양성(false positive)이 발생하지 않는 결정적 검색 결과 제공
- COUNT, EXISTS 같은 집계 쿼리에서도 불필요한 정렬을 생략해 처리 속도 개선
- Roaring Bitmap(CRoaring) 기반 구현으로, 데이터 밀도에 따라 메모리 사용을 자동 최적화
- ORDER BY를 직접 지원하지는 않지만, 결과 집합이 작아진 이후 정렬이 이뤄지도록 플래너와 자연스럽게 결합
- 정규식, 유사도 검색, locale 기반 collation은 지원하지 않는 대신 LIKE / ILIKE 특화 성능에 집중한 설계