F.48. unaccent — 발음 구별 부호를 제거하는 텍스트 검색 스포츠 토토 결과#

악센트 없음은 어휘소에서 악센트(발음 부호)를 제거하는 텍스트 검색 스포츠 토토 결과입니다. 이는 스포츠 토토 결과의 일반적인 동작과 달리 출력이 항상 다음 스포츠 토토 결과(있는 경우)으로 전달되는 것을 의미하는 필터링 스포츠 토토 결과입니다. 이를 통해 전체 텍스트 검색 시 악센트를 구분하지 않고 처리할 수 있습니다.

현재 구현악센트 없음에 대한 정규화 스포츠 토토 결과으로 사용할 수 없습니다.동의어 스포츠 토토 결과스포츠 토토 결과.

이 모듈은 고려됩니다.신뢰할 수 있는즉, 슈퍼유저가 아닌 사용자가 설치할 수 있습니다.만들기현재 데이터베이스에 대한 권한입니다.

F.48.1. 구성#

악센트 없음스포츠 토토 결과은 다음 옵션을 허용합니다:

  • 규칙은 번역 규칙 목록이 포함된 파일의 기본 이름입니다. 이 파일은 다음 위치에 저장되어야 합니다.$SHAREDIR/tsearch_data/(어디에서$SHAREDIR의미포스트그레SQL설치의 공유 데이터 디렉토리). 이름은 다음으로 끝나야 합니다..rules(다음에 포함되지 않음규칙매개변수).

규칙 파일의 형식은 다음과 같습니다:

  • 각 줄은 악센트가 있는 문자와 악센트가 없는 문자로 구성된 하나의 번역 규칙을 나타냅니다. 첫 번째는 두 번째로 번역됩니다. 예를 들어,

    À A
    Á A
    Â
    Ã A
    에 A
    Å A
    Æ AE

    두 문자는 공백으로 구분되어야 하며 한 줄의 선행 또는 후행 공백은 무시됩니다.

  • 또는 한 줄에 단 하나의 문자만 제공되면 해당 문자의 인스턴스가 삭제됩니다. 이는 악센트가 별도의 문자로 표시되는 언어에 유용합니다.

  • 사실, 각각문자공백을 포함하지 않는 모든 문자열이 될 수 있으므로악센트 없음스포츠 토토 결과은 발음 구별 부호 제거 외에 다른 종류의 하위 문자열 대체에 사용될 수 있습니다.

  • 숫자 기호와 같은 일부 문자는 번역 규칙에 공백이 필요할 수 있습니다. 이 경우 번역된 문자 주위에 큰따옴표를 사용할 수 있습니다. 번역된 문자에 큰따옴표를 포함하는 경우 큰따옴표를 두 번째 큰따옴표로 이스케이프해야 합니다. 예를 들면:

    ¼      " 1/4"
    ½      " 1/2"
    ¾      " 3/4"
    “       """"
    ”       """"
    
  • 다른 것과 마찬가지로포스트그레SQL텍스트 검색 구성 파일의 경우 규칙 파일은 utf-8 인코딩으로 저장되어야 합니다. 데이터는 로드될 때 현재 데이터베이스의 인코딩으로 자동 변환됩니다. 번역할 수 없는 문자가 포함된 줄은 자동으로 무시되므로 규칙 파일에는 현재 인코딩에 적용할 수 없는 규칙이 포함될 수 있습니다.

대부분의 유럽 언어에 직접적으로 유용한 보다 완전한 예는 다음에서 찾을 수 있습니다.unaccent.rules, 다음 위치에 설치됨$SHAREDIR/tsearch_data/악센트 없음모듈이 설치되었습니다. 이 규칙 파일은 악센트가 있는 문자를 악센트가 없는 동일한 문자로 변환하고 합자를 동일한 일련의 단순 문자(예: Æ에서 AE)로 확장합니다.

F.48.2. 사용법#

설치 중악센트 없음확장으로 텍스트 검색 템플릿이 생성됩니다.악센트 없음그리고 스포츠 토토 결과악센트 없음그것을 기반으로 합니다.악센트 없음스포츠 토토 결과에는 기본 매개변수 설정이 있습니다RULES='악센트가 없음', 표준과 함께 즉시 사용할 수 있게 해줍니다.unaccent.rules파일. 원하는 경우 매개변수를 변경할 수 있습니다. 예를 들어

mydb=# ALTER TEXT SEARCH DICTIONARY 악센트 없음 (RULES='my_rules');

또는 템플릿을 기반으로 새 스포츠 토토 결과을 생성하세요.

스포츠 토토 결과을 테스트하려면 다음을 시도해보세요:

mydb=# select ts_lexize('unaccent','호텔');
 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행)

F.48.3. 기능#

악센트 없음()함수는 주어진 문자열에서 악센트(발음 부호)를 제거합니다. 기본적으로는 래퍼입니다.악센트 없음-유형 스포츠 토토 결과이지만 일반 텍스트 검색 컨텍스트 외부에서 사용할 수 있습니다.

악센트가 없음([스포츠 토토 결과 regdictionary, ] 문자열 텍스트) 반환텍스트

만약스포츠 토토 결과인수 생략, 이름이 텍스트 검색 스포츠 토토 결과악센트 없음그리고 동일한 스키마에 나타남악센트 없음()함수 자체가 사용됩니다.

예:

SELECT unaccent('unaccent', '호텔');
SELECT unaccent('호텔');

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.