F.46. UNCENCER - Diacritics를 제거하는 텍스트 검색 스포츠 토토 결과#

Unaccentlexemes에서 악센트 (Diacritic Signs)를 제거하는 텍스트 검색 스포츠 토토 결과입니다. 필터링 스포츠 토토 결과으로, 스포츠 토토 결과의 정상적인 동작과 달리 출력이 항상 다음 스포츠 토토 결과 (있는 경우)으로 전달됩니다. 이를 통해 전체 텍스트 검색을위한 악센트 감민 처리가 가능합니다.

현재의 구현Unaccent정상화 스포츠 토토 결과으로 사용할 수 없습니다THESAURUS스포츠 토토 결과.

이 모듈이 고려됩니다신뢰할 수있는생성현재 데이터베이스의 권한.

F.46.1. 구성#

anUnaccent스포츠 토토 결과은 다음 옵션을 수락합니다.

  • 규칙는 번역 규칙 목록을 포함하는 파일의 기본 이름입니다. 이 파일은에 저장해야합니다.$ sharedir/tsearch_data/(where$ sharedir의미PostgreSQL설치의 공유 데이터 디렉토리). 그 이름은 끝나야합니다.rules(규칙매개 변수).

규칙 파일에는 다음 형식이 있습니다.

  • 각 줄은 하나의 번역 규칙을 나타냅니다. 첫 번째는 두 번째로 번역됩니다. 예를 들어,

    à a
    Á a
    Â a
    Â a
    ä a
    Å a
    Æ ae

    두 문자는 공백으로 분리되어야하며, 라인의 선두 또는 후행 공백은 무시됩니다.

  • 대안 적으로, 한 문자 만 줄에 주어지면 해당 문자의 인스턴스가 삭제됩니다. 이것은 악센트가 별도의 문자로 표시되는 언어에 유용합니다.

  • 실제로, 각각캐릭터whitespace를 포함하지 않는 문자열 일 수 있으므로Unaccent스포츠 토토 결과은 diacritic 제거 외에 다른 종류의 기판 치환에 사용될 수 있습니다.

  • 숫자 기호와 같은 일부 문자는 번역 규칙에 공백이 필요할 수 있습니다. 이 경우 번역 된 문자 주변에서 이중 인용문을 사용할 수 있습니다. 번역 된 캐릭터에 하나를 포함시킬 때 두 번째 이중 견적으로 이중 견적을 피해야합니다. 예를 들어:

    ¼ "1/4"
    ½ "1/2"
    ¾ "3/4"
    "" "" "
    ” "" "" "
  • 다른 것과 마찬가지로PostgreSQL텍스트 검색 구성 파일, 규칙 파일은 UTF-8 인코딩에 저장해야합니다. 데이터는로드시 현재 데이터베이스의 인코딩으로 자동으로 변환됩니다. 번식 할 수없는 문자가 포함 된 모든 줄은 조용히 무시되므로 규칙 파일은 현재 인코딩에 적용 할 수없는 규칙을 포함 할 수 있습니다.

대부분의 유럽 언어에 직접 유용한 더 완전한 예는 찾을 수 있습니다.Unaccent.rules,$ sharedir/tsearch_data/언제Unaccent모듈이 설치되었습니다. 이 규칙 파일은 악센트가있는 문자를 악센트가없는 동일한 문자로 변환하고, 또한 동등한 일련의 간단한 문자 (예 : Æ에서 AE)로 인대를 확장합니다..

F.46.2. 용법#

설치Unaccent확장자 텍스트 검색 템플릿을 만듭니다Unaccent및 스포츠 토토 결과Unaccent기준. 그만큼UnaccentDictionary는 기본 매개 변수 설정이 있습니다규칙 = 'unccent', 이로 인해 표준으로 즉시 사용할 수 있습니다Unaccent.rules파일. 원한다면 매개 변수를 변경할 수 있습니다 (예 :

mydb =# Alter Text 검색 사전 Unaccent (Rules = 'my_rules');

또는 템플릿을 기반으로 새로운 사전 생성.

스포츠 토토 결과을 테스트하려면 시도 할 수 있습니다 :

mydb =# select ts_lexize ( 'unccent', 'hôtel');
 ts_lexize
----------
 호텔

삽입하는 방법을 보여주는 예입니다Unaccent텍스트 검색 구성으로의 스포츠 토토 결과 :

mydb =# 텍스트 검색 구성 fr (copy = french);
mydb =# 텍스트 검색 구성 fr
        hword, hword_part, word의 Alter 매핑
        비한이없는 프랑스어;
mydb =# select to_tsvector ( 'fr', 'hôtels de la mer');
    to_tsvector
--------------------
 '호텔': 1 'mer': 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 Hôtel </b de la mer
(1 행)

F.46.3. 기능#

theUnaccent ()함수는 주어진 문자열에서 액센트 (diacritic signs)를 제거합니다. 기본적으로 래퍼Unaccent-유형 스포츠 토토 결과, 그러나 일반 텍스트 검색 컨텍스트 외부에서 사용할 수 있습니다.

Unaccent ([Dictionary Regdictionary, ]String 텍스트) 반환텍스트

Dictionary인수가 생략되고, 텍스트 검색 사전이라는Unaccent|Unaccent ()함수 자체가 사용됩니다.

예 :

Unaccent를 선택하십시오 ( 'Unaccent', 'Hôtel');
Unaccent를 선택하십시오 ( 'Hôtel');

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면