vsql_trgm은 PostgreSQL의 pg_trgm을 포팅한 것입니다. 문자열을 세 글자 조각으로
나누고 두 문자열이 공유하는 조각의 수로 점수를 매기므로, 철자가 틀린 검색어로도
해당 행을 찾을 수 있습니다. LIKE는 너무 엄격하고 전문 검색은 너무 거칠 때
사용하세요.
설치
설치 스크립트, Docker 이미지 또는 릴리스 tarball로 VillageSQL을 설치했다면vsql_trgm.veb는 이미 서버의 lib/veb/ 디렉터리에 있습니다. 문 하나로 서버에
설치하세요:
추가되는 기능
세 가지 함수 계열을 추가합니다. 일반 계열은 두 문자열 전체를 비교합니다. 단어 계열은 두 번째 문자열에서 가장 잘 일치하는 부분 문자열을 찾습니다. 엄격한 단어 계열은 같은 일을 하되 단어 경계에 맞춥니다. 각 계열은 자체 기본 임계값을 가집니다.예제
작은 이름 테이블을 만듭니다:PostgreSQL의
set_limit()에 대응하는 것은 여기에 없습니다. vsql_trgm은
세션 상태를 유지하지 않기 때문입니다. 대신 원하는 임계값을
trgm_similar_threshold()에 전달하세요. 유사도 필터는 모든 행을 읽으므로,
큰 테이블에 실행하기 전에 측정하세요.참고 항목
- MySQL에서의 트라이그램 유사도 — 임계값, 순위, 큰 테이블에서의 비용
- 퍼지 문자열 매칭 — 대안으로서의 음성 코드와 편집 거리
- 전문 검색 — 이름이 아니라 문서에 맞는 도구
- 확장 기능 설치 —
INSTALL EXTENSION의 동작 방식과 서버가 번들을 찾는 위치 - 사용 가능한 확장 기능 — 전체 카탈로그
- villagesql/vsql-trgm — 소스, 빌드 지침, 알려진 제한 사항