악센트 없음은 어휘소에서 악센트(발음 부호)를 제거하는 텍스트 검색 사전입니다. 이는 사전의 일반적인 동작과 달리 출력이 항상 다음 사전(있는 경우)으로 전달되는 것을 의미하는 필터링 사전입니다. 이를 통해 전체 텍스트 검색 시 악센트를 구분하지 않고 처리할 수 있습니다.
현재 구현악센트 없음에 대한 정규화 사전으로 사용할 수 없습니다.동의어 사전사전.
이 모듈은 고려됩니다.“신뢰할 수 있는”, 즉 다음과 같은 슈퍼유저가 아닌 사용자가 설치할 수 있습니다.만들기현재 데이터베이스에 대한 권한.
안악센트 없음사전은 다음 옵션을 허용합니다:
규칙은 번역 규칙 목록이 포함된 파일의 기본 이름입니다. 이 파일은 다음 위치에 저장되어야 합니다.$SHAREDIR/tsearch_data/(어디에서$SHAREDIR의미포스트그레SQL설치의 공유 데이터 디렉토리). 이름은 다음으로 끝나야 합니다..rules(다음에 포함되지 않음규칙매개변수).
규칙 파일의 형식은 다음과 같습니다:
각 줄은 악센트가 있는 문자와 악센트가 없는 문자로 구성된 하나의 번역 규칙을 나타냅니다. 첫 번째는 두 번째로 번역됩니다. 예를 들어,
À A Á A Â Ã A 에 A Å A Æ AE
두 문자는 공백으로 구분되어야 하며 한 줄의 선행 또는 후행 공백은 무시됩니다.
또는 한 줄에 단 하나의 문자만 제공되면 해당 문자의 인스턴스가 삭제됩니다. 이는 악센트가 별도의 문자로 표시되는 언어에 유용합니다.
사실, 각각“문자”공백을 포함하지 않는 모든 문자열이 될 수 있으므로악센트 없음사전은 발음 구별 부호 제거 외에 다른 종류의 하위 문자열 대체에 사용될 수 있습니다.
다른 것과 마찬가지로범퍼카 토토텍스트 검색 구성 파일의 경우 규칙 파일은 utf-8 인코딩으로 저장되어야 합니다. 데이터는 로드될 때 현재 데이터베이스의 인코딩으로 자동으로 변환됩니다. 번역할 수 없는 문자가 포함된 줄은 자동으로 무시되므로 규칙 파일에는 현재 인코딩에 적용할 수 없는 규칙이 포함될 수 있습니다.
대부분의 유럽 언어에 직접적으로 유용한 보다 완전한 예는 다음에서 찾을 수 있습니다.unaccent.rules, 다음 위치에 설치됨$SHAREDIR/tsearch_data/때악센트 없음모듈이 설치되었습니다. 이 규칙 파일은 악센트가 있는 문자를 악센트가 없는 동일한 문자로 변환하고 합자를 동일한 일련의 단순 문자(예: Æ에서 AE)로 확장합니다.
설치 중악센트 없음확장으로 텍스트 검색 템플릿이 생성됩니다.악센트 없음그리고 사전악센트 없음그것을 기반으로 합니다.악센트 없음사전에는 기본 매개변수 설정이 있습니다RULES='악센트가 없음', 표준과 함께 즉시 사용할 수 있게 해줍니다.unaccent.rules파일. 원하는 경우 매개변수를 변경할 수 있습니다. 예를 들어
mydb=# ALTER TEXT SEARCH DICTIONARY 악센트 없음 (RULES='my_rules');
또는 템플릿을 기반으로 새 사전을 생성하세요.
사전을 테스트하려면 다음을 시도해보세요:
mydb=# select ts_lexize('범퍼카 토토','호텔');
ts_lexize
-----------
호텔
다음은 삽입 방법을 보여주는 예입니다.악센트 없음텍스트 검색 구성에 사전:
mydb=# 텍스트 검색 구성 만들기 fr ( COPY = 프랑스어 );
mydb=# 텍스트 검색 구성 변경 fr
hword, hword_part, word에 대한 매핑 변경
악센트 없이, French_stem;
mydb=# select to_tsVector('fr','Hôtels de la Mer');
to_ts벡터
------
'호텔':1 '메르':4
(1줄)
mydb=# select to_tsVector('fr','Hôtel de la Mer') @@ to_tsquery('fr','Hotels');
?열?
----------
티
(1줄)
mydb=# select ts_headline('fr','Hôtel de la Mer',to_tsquery('fr','Hotels'));
ts_headline
-----------
<b호텔</b 드 라 메르
(1행)
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.