메인 콘텐츠로 건너뛰기
vsql_fuzzystrmatch는 PostgreSQL의 fuzzystrmatch 확장을 포팅한 것입니다. 한 쌍의 문자열에 대해 서로 다른 두 가지 질문에 답합니다: 발음이 비슷한지, 그리고 몇 번의 편집으로 서로 바뀌는지입니다. 이름 매칭, 철자 교정, 손으로 입력한 레코드의 중복 제거에 사용하세요.

설치

설치 스크립트, Docker 이미지 또는 릴리스 tarball로 VillageSQL을 설치했다면 vsql_fuzzystrmatch.veb는 이미 서버의 lib/veb/ 디렉터리에 있습니다. 문 하나로 서버에 설치하세요:
설치되었는지 확인합니다:
직접 빌드하려면 저장소의 빌드 지침을 따르세요.

추가되는 기능

예제

같은 이름의 두 철자가 같은 Soundex 코드를 만들고, difference는 일치도를 4점 만점으로 매깁니다:
편집 거리는 대신 변경 횟수를 셉니다:
Metaphone은 Thompson의 Th처럼 철자가 감추는 소리를 처리합니다:
MySQL에는 자체 SOUNDEX()가 있으며, 이름을 한정자 없이 쓰면 내장 함수가 우선합니다. 둘은 결과가 다릅니다: SOUNDEX('Ashcraft')는 A2613을 반환하고, vsql_fuzzystrmatch.soundex('Ashcraft')는 A261을 반환합니다. MySQL 버전은 임의 길이의 문자열을 반환한다고 문서화되어 있고, 확장 기능의 버전은 4자 Soundex 정의를 따릅니다. 원하는 함수를 얻으려면 호출에 확장 기능 이름을 한정자로 붙이세요. 여기의 다른 함수는 가려지지 않습니다.
levenshtein_less_equal은 실제 거리가 지정한 한도를 넘는 즉시 멈추고, 실제 거리와 상관없이 한도 더하기 1을 반환합니다. 한도가 2이면 거리 3인 쌍에 3을 반환하고, 거리 7인 쌍에도 3을 반환합니다. 한도 더하기 1은 “물어본 것보다 더 멀다”는 뜻으로 읽으세요.

참고 항목