이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 12.6. 토토 결과버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

12.6. 사설 토토 사이트

사설 토토 사이트은 사용해서는 안 되는 단어를 제거하는 데 사용됩니다. 검색에서 고려됨(단어 중지) 및 에정규화단어가 다르기 때문에 동일한 단어의 파생 형태가 일치합니다. 성공적으로 정규화된 단어를 a라고 합니다.어법. 검색 품질 개선 외에도 정규화 및 제거 중지 단어는 크기를 줄입니다.ts벡터문서를 표현하여 성능을 향상시킵니다. 정규화는 항상 언어적인 의미를 갖는 것은 아니며 일반적으로 애플리케이션 의미에 따라 다릅니다.

정규화의 몇 가지 예:

  • 언어 - Ispell 사설 토토 사이트은 입력 단어를 줄이려고 노력합니다. 정규화된 형태로; 형태소 사설 토토 사이트은 단어를 제거합니다 엔딩

  • URL위치는 다음과 같습니다. 동등한 URL이 일치하도록 정규화되었습니다.

    • http://www.pgsql.ru/db/mw/index.html

    • http://www.pgsql.ru/db/mw/

    • http://www.pgsql.ru/db/../db/mw/index.html

  • 색상 이름은 16진수 값으로 대체될 수 있습니다. 예를 들어,빨간색, 녹색, 파란색, 자홍색 - FF0000, 00FF00, 0000FF, FF00FF

  • 숫자를 색인화하면 일부 소수점을 제거할 수 있습니다 가능한 숫자의 범위를 줄이기 위해 예를 들면3.14159265359, 3.1415926, 3.14이 될 것입니다 이후에 두 자리만 유지되면 정규화 후에도 동일합니다. 소수점.

사설 토토 사이트은 토큰을 입력으로 받아들이고 반환:

  • 입력 토큰이 알려진 경우 어휘 배열 사설 토토 사이트(하나의 토큰이 둘 이상의 토큰을 생성할 수 있음에 유의) 어휘)

  • 사설 토토 사이트이 토큰을 알고 있지만 빈 배열입니다. 불용어입니다

  • NULL사설 토토 사이트이 그렇지 않은 경우 입력 토큰을 인식합니다

포스트그레SQL제공 다양한 언어에 대해 사설 토토 사이트 정의된 사설 토토 사이트. 또한 있다 새로운 생성에 사용할 수 있는 사설 토토 사이트 정의된 여러 템플릿 맞춤 매개변수가 있는 사설 토토 사이트. 사설 토토 사이트 정의된 각 사설 토토 사이트 템플릿은 아래에 설명되어 있습니다. 기존 템플릿이 적합하지 않은 경우 새로운 것을 만드는 것이 가능합니다. 참조하세요기여/지역PostgreSQL예시를 위한 배포.

텍스트 검색 구성은 파서를 세트와 함께 바인딩합니다 파서의 출력 토큰을 처리하기 위한 사설 토토 사이트입니다. 각각에 대해 파서가 반환할 수 있는 토큰 유형, 별도의 목록 사설 토토 사이트은 구성에 따라 지정됩니다. 토큰일 때 해당 유형이 파서에 의해 발견되면 목록의 각 사설 토토 사이트은 일부 사설 토토 사이트이 이를 알려진 것으로 인식할 때까지 차례로 참조합니다. 단어. 불용어로 식별되거나 사설 토토 사이트이 없는 경우 토큰을 인식하면 폐기되고 색인이 생성되지 않습니다. 검색했습니다. 목록 구성에 대한 일반 규칙 사설 토토 사이트은 가장 좁고 가장 구체적인 사설 토토 사이트을 먼저 배치하는 것입니다. 사설 토토 사이트, 그 다음에는 좀 더 일반적인 사설 토토 사이트으로 마무리합니다. a와 같은 매우 일반적인 사설 토토 사이트눈덩이음소거 또는간단한, 모든 것을 인식합니다. 예를 들어, 천문학 관련 검색의 경우(astro_en구성) 토큰 유형을 바인딩할 수 있음asciiword(ASCII 단어)를 동의어로 천문용어사설 토토 사이트, 일반영어사설 토토 사이트 그리고눈덩이영어 형태소 분석기:

텍스트 검색 구성 변경 astro_en
    astrosyn, english_ispell, english_stem을 사용하여 asciiword에 대한 매핑을 추가합니다.

12.6.1. 중지 단어

불요 단어는 매우 일반적이며 거의 모든 언어에 나타나는 단어입니다. 모든 문서이며 차별 가치가 없습니다. 그러므로, 전체 텍스트 검색에서는 무시될 수 있습니다. 에 대한 예를 들어, 모든 영어 텍스트에는 다음과 같은 단어가 포함되어 있습니다.a그리고the그렇군요. 인덱스에 저장하는 것은 쓸모가 없습니다. 그러나 중지 단어는 의 위치에 영향을 미칩니다.ts벡터, 결과적으로 순위에 영향을 미칩니다.

SELECT to_tsVector('english','불용어 목록에서');
        to_ts벡터
---------------
 '목록':3 '중지':5 '단어':6

1,2,4번 위치가 누락된 이유는 불용어 때문입니다. 순위 불용어가 있거나 없는 문서에 대해 계산된 값은 상당히 높습니다. 다르다:

SELECT ts_rank_cd (to_tsVector('english','중지 단어 목록에서'), to_tsquery('list & stop'));
 ts_rank_cd
------------
       0.05

SELECT ts_rank_cd (to_tsVector('english','목록 중지 단어'), to_tsquery('목록 & 중지'));
 ts_rank_cd
------------
        0.1

중지를 어떻게 처리하는지는 특정 사설 토토 사이트에 달려 있습니다. 단어. 예를 들어,ispell사설 토토 사이트은 먼저 단어를 정규화한 다음 다음 단어 목록을 살펴봅니다. 말을 멈추세요, 동안눈덩이스테머 먼저 불용어 목록을 확인하세요. 그 이유는 다른 행동은 소음을 줄이려는 시도입니다.

12.6.2. 단순 사설 토토 사이트

단순사설 토토 사이트 템플릿 입력 토큰을 소문자로 변환하여 작동하고 중지 단어 파일과 비교하여 확인합니다. 에서 발견된 경우 파일을 열면 빈 배열이 반환되어 토큰이 폐기되었습니다. 그렇지 않은 경우 단어의 소문자 형식이 반환됩니다. 정규화된 어휘소로. 또는 사설 토토 사이트은 다음과 같습니다. 비불용어를 인식되지 않은 것으로 보고하도록 구성되어 있습니다. 목록의 다음 사설 토토 사이트으로 전달됩니다.

다음은 다음을 사용한 사설 토토 사이트 정의의 예입니다.간단한템플릿:

텍스트 검색 사설 토토 사이트 생성 public.simple_dict(
    템플릿 = pg_catalog.simple,
    STOPWORDS = 영어
);

여기,영어는 다음의 기본 이름입니다. 불용어 파일. 파일의 전체 이름은 다음과 같습니다.$SHAREDIR/tsearch_data/english.stop, 여기서$SHAREDIR의미PostgreSQL설치의 공유 데이터 디렉토리, 자주/usr/local/share/postgresql(사용pg_config --sharedir당신이 확실하지 않음). 파일 형식은 단순히 단어 목록입니다. 라인. 빈 줄과 후행 공백은 무시됩니다. 케이스를 소문자로 접었을 뿐 다른 가공은 하지 않았습니다. 파일 내용에.

이제 사설 토토 사이트을 테스트할 수 있습니다:

SELECT ts_lexize('public.simple_dict','예');
 ts_lexize
-----------
 예

SELECT ts_lexize('public.simple_dict','The');
 ts_lexize
-----------

우리는 또한 복귀를 선택할 수도 있습니다NULL, 소문자 단어 대신, 정지 위치에 해당 단어가 없으면 단어 파일. 이 동작은 다음을 설정하여 선택됩니다. 사설 토토 사이트의수락매개변수 ~거짓. 예시를 계속하면:

텍스트 검색 사설 토토 사이트 변경 public.simple_dict ( Accept = false );

SELECT ts_lexize('public.simple_dict','예');
 ts_lexize
-----------

SELECT ts_lexize('public.simple_dict','The');
 ts_lexize
-----------

기본 설정은수락 = , a를 배치하는 것만 유용합니다.간단한목록 끝에 사설 토토 사이트 어떤 토큰도 절대 전달하지 않기 때문입니다. 다음 사설 토토 사이트. 반대로,수락 = 거짓만 다음 사설 토토 사이트이 하나 이상 있을 때 유용합니다.

주의

대부분의 사설 토토 사이트 유형은 구성에 의존합니다. 불용어 파일과 같은 파일. 이 파일들반드시수 utf-8 인코딩으로 저장됩니다. 다음으로 번역됩니다. 실제 데이터베이스 인코딩(다른 경우) 서버로 읽어들일 때.

주의

일반적으로 데이터베이스 세션은 사설 토토 사이트을 읽습니다. 구성 파일은 처음 사용될 때 한 번만 사용됩니다. 세션 내에서. 구성 파일을 수정하는 경우 기존 세션이 새로운 세션을 선택하도록 강제하고 싶습니다. 내용, 발행텍스트 변경 검색 사설 토토 사이트사설 토토 사이트의 명령입니다. 이 a가 될 수 있다"더미"업데이트하세요 실제로 매개변수 값은 변경되지 않습니다.

12.6.3. 동의어 사설 토토 사이트

이 사설 토토 사이트 템플릿은 사설 토토 사이트을 생성하는 데 사용됩니다. 단어를 동의어로 바꾸십시오. 구문은 지원되지 않습니다(사용 동의어 사설 토토 사이트 템플릿(섹션 12.6.4)). 동의어 사설 토토 사이트을 사용하여 다음을 수행할 수 있습니다. 예를 들어, 언어적 문제를 극복하여 영어 형태소 분석 사설 토토 사이트은 'Paris'라는 단어를 다음으로 줄이는 것부터 시작합니다. '파리'. 하나면 충분해요파리 파리동의어 사설 토토 사이트에 줄을 추가하고 그 앞에 넣으세요english_stem사설 토토 사이트. 에 대한 예:

SELECT * FROM ts_debug('english', 'Paris');
   별칭 |   설명 | 토큰 |  사설 토토 사이트 |  사설 토토 사이트 | 어휘소 
---------+------+-------+---+---------------+---------
 ASCII워드 | 단어, 모두 ASCII | 파리 | english_stem | 영어_줄기 | 파리

텍스트 검색 사설 토토 사이트 생성 my_synonym(
    템플릿 = 동의어,
    동의어 = my_synonyms
);

텍스트 검색 구성 변경 english
    ASCIIWord에 대한 매핑 변경
    WITH my_synonym, english_stem;

SELECT * FROM ts_debug('english', 'Paris');
   별칭 |   설명 | 토큰 |       사설 토토 사이트 | 사설 토토 사이트 | 어휘소 
---------+------+-------+---------------+------------+---------
 ASCII워드 | 단어, 모두 ASCII | 파리 | my_synonym,english_stem | 내_동의어 | 파리

다음에 필요한 유일한 매개변수는동의어템플릿은동의어는 해당 제품의 기본 이름입니다. 구성 파일 —my_synonyms에 위의 예. 파일의 전체 이름은 다음과 같습니다.$SHAREDIR/tsearch_data/my_synonyms.syn(어디에서$SHAREDIR의미PostgreSQL설치의 공유 데이터 디렉토리). 파일 형식은 단어 당 한 줄입니다. 대체, 단어 뒤에 동의어가 따라옴, 분리됨 공백으로. 빈 줄과 후행 공백은 다음과 같습니다. 무시됩니다.

동의어템플릿에는 선택적 매개변수대소문자 구분, 기본값은거짓. 언제대소문자 구분is거짓, 동의어 파일의 단어는 다음과 같이 접혀 있습니다. 입력 토큰과 마찬가지로 소문자입니다. 그럴 때, 단어와 토큰은 아래로 접혀지지 않습니다. 경우에는 있는 그대로 비교됩니다.

12.6.4. 유의어 사설 토토 사이트

동의어 사설 토토 사이트(때때로 다음과 같이 축약됨TZ)는 단어 모음입니다. 단어와 단어의 관계에 대한 정보를 포함합니다. 문구, 즉 더 넓은 용어(BT), 더 좁은 용어(NT), 선호 용어, 비선호 용어, 관련 용어 등

기본적으로 동의어 사설 토토 사이트은 선호되지 않는 모든 사설 토토 사이트을 대체합니다. 하나의 선호하는 용어로 용어를 선택하고 선택적으로 색인 생성에 대한 원래 용어도 마찬가지입니다.포스트그레SQL의 현재 구현은 유의어 사설 토토 사이트은 동의어 사설 토토 사이트의 확장입니다. 추가됨구문지원합니다. 동의어 사설 토토 사이트 사설 토토 사이트에는 다음 구성 파일이 필요합니다. 형식:

# 이것은 댓글입니다
샘플 단어: 색인된 단어
더 많은 샘플 단어: 더 많은 색인 단어
...

여기서 콜론(:) 기호는 문구와 대체 문구 사이의 구분 기호입니다.

동의어 사설 토토 사이트은 다음을 사용합니다.하위(다음에 지정됨) 사설 토토 사이트 구성) 이전에 입력 텍스트를 정규화합니다. 구문 일치를 확인합니다. 하나만 선택 가능합니다 하위 사설 토토 사이트. 하위 사설 토토 사이트이 실패하면 오류가 보고됩니다. 단어를 인식하는 것. 이 경우에는 다음의 사용을 제거해야 합니다. 단어를 말하거나 그것에 대해 하위 사설 토토 사이트을 가르칩니다. 당신은 별표(*)의 시작 부분에 하위 사설 토토 사이트 적용을 건너뛰려면 색인된 단어가 필요하지만 모두 샘플 단어반드시수 하위 사설 토토 사이트에 알려졌습니다.

동의어 사설 토토 사이트은 일치하는 항목이 있는 경우 가장 긴 일치 항목을 선택합니다. 입력과 일치하는 여러 문구가 있으며 동점은 다음과 같이 구분됩니다. 마지막 정의를 사용합니다.

하위 사설 토토 사이트에 의해 인식된 특정 중지 단어는 사용할 수 없습니다. 명시되어야 한다; 대신에 사용하세요?표시하다 불용어가 나타날 수 있는 위치. 예를 들어, 가정하면a그리고다음에 따른 중지 단어입니다. 하위 사설 토토 사이트:

? 하나? 2개 : swsw

일치하나 둘그리고하나 둘; 둘 다 교체될 예정 으로swsw.

동의어 사설 토토 사이트에는 인식 기능이 있으므로 상태를 기억하고 상호작용해야 하는 문구 파서. 동의어 사설 토토 사이트은 이러한 할당을 사용하여 확인합니다. 다음 단어를 처리해야 하는지 아니면 축적을 중지해야 하는지 여부입니다. 는 동의어 사설 토토 사이트은 주의 깊게 구성해야 합니다. 예를 들어, 동의어 사설 토토 사이트이 다음만 처리하도록 할당된 경우asciiword토큰, 동의어 사설 토토 사이트 같은 사설 토토 사이트 정의하나 7할 것이다 토큰 유형 이후 작동하지 않습니다.단위아님 동의어 사설 토토 사이트에 할당되었습니다.

주의

인덱싱 중에 동의어 사설 토토 사이트이 사용되므로 변경 사항이 있으면 동의어 사설 토토 사이트의 매개변수에서요구재인덱싱 중입니다. 에 대한 대부분의 다른 사설 토토 사이트 유형은 다음과 같은 작은 변경 사항입니다. 불용어를 추가하거나 제거해도 강제로 실행되지는 않습니다. 다시 색인을 생성하는 중입니다.

12.6.4.1. 유의어 사설 토토 사이트 구성

새 동의어 사설 토토 사이트을 정의하려면 다음을 사용하십시오.동의어 사설 토토 사이트템플릿. 예를 들면:

텍스트 검색 사설 토토 사이트 생성 thesaurus_simple(
    템플릿 = 동의어 사설 토토 사이트,
    DictFile = 신화사우루스,
    사설 토토 사이트 = pg_catalog.english_stem
);

여기:

  • thesaurus_simple새로운 것입니다 사설 토토 사이트 이름

  • 신화사우루스기본 이름입니다 동의어 사설 토토 사이트 구성 파일의 (전체 이름은 수$SHAREDIR/tsearch_data/mythesaurus.ths, 어디서$SHAREDIR은 다음을 의미합니다. 공유 데이터 디렉터리를 설치합니다.)

  • pg_catalog.english_stem입니다 하위 사설 토토 사이트(여기서는 Snowball 영어 형태소 분석기) 동의어 사설 토토 사이트 정규화에 사용합니다. 주의할 점은 하위 사설 토토 사이트에는 자체 구성이 있습니다(예: 예, 중지 단어), 여기에는 표시되지 않습니다.

이제 동의어 사설 토토 사이트 바인딩이 가능해졌습니다thesaurus_simple원하는 것에 구성의 토큰 유형입니다. 예를 들면 다음과 같습니다.

텍스트 검색 구성 변경 러시아어
    asciiword, asciihword, hword_asciipart에 대한 매핑 변경
    동의어 사설 토토 사이트_simple;

12.6.4.2. 유의어 사설 토토 사이트 예시

간단한 천문학적 동의어 사설 토토 사이트을 생각해 보세요.thesaurus_astro, 여기에는 일부가 포함되어 있습니다. 천문학적 단어 조합:

초신성 별: sn
게 성운 : 게

아래에서는 사설 토토 사이트을 생성하고 일부 토큰 유형을 천문학 동의어 사설 토토 사이트 및 영어 형태소 분석기:

텍스트 검색 사설 토토 사이트 생성 thesaurus_astro(
    템플릿 = 동의어 사설 토토 사이트,
    DictFile = thesaurus_astro,
    사설 토토 사이트 = english_stem
);

텍스트 검색 구성 변경 러시아어
    asciiword, asciihword, hword_asciipart에 대한 매핑 변경
    WITH thesaurus_astro, english_stem;

이제 어떻게 작동하는지 볼 수 있습니다.ts_lexize테스트에는 그다지 유용하지 않습니다. 동의어 사설 토토 사이트은 입력을 단일 토큰으로 처리하기 때문입니다. 대신에 우리는plainto_tsquery그리고to_tsVector입력이 중단될 것입니다. 문자열을 여러 토큰으로 변환:

SELECT plainto_tsquery('초신성');
 plainto_tsquery
-----------------
 'sn'

SELECT to_tsVector('초신성');
 to_ts벡터
-------------
 'sn':1

원칙적으로 다음을 사용할 수 있습니다.to_tsquery인수를 인용하는 경우:

SELECT to_tsquery('''초신성''');
 to_tsquery
------------
 'sn'

알아두세요초신성별일치초신성별inthesaurus_astro우리가 지정했기 때문에english_stem스머머 동의어 사설 토토 사이트 정의. 형태소 분석기가 다음을 제거했습니다.e그리고s.

원래 문구와 대체 문구를 색인화하려면, 정의의 오른쪽 부분에 포함시키세요.

초신성 별 : sn 초신성 별

SELECT plainto_tsquery('초신성별');
       plainto_tsquery
----------------
 'sn' & '초신성' & '별'

12.6.5. Ispell사설 토토 사이트

Ispell사설 토토 사이트 템플릿 지원형태학적 사설 토토 사이트, 이는 다양한 언어를 정규화할 수 있습니다. 같은 어휘로 단어의 형태. 예를 들어 영어Ispell사설 토토 사이트이 일치할 수 있음 검색어의 모든 어형변화 및 활용형은행예:뱅킹, 뱅킹됨, 은행, 은행'은행.

표준포스트그레SQL배포에는 아무것도 포함되지 않습니다.Ispell구성 파일. 사설 토토 사이트 다양한 언어에 대한 정보는 다음에서 제공됩니다.Ispell. 또한 좀 더 현대적인 사설 토토 사이트 파일 형식이 지원됩니다 —MySpell(OO < 2.0.1) 및훈스펠(OO = 2.0.2). 큰 목록 사설 토토 사이트은 다음에서 이용 가능합니다.오픈오피스 위키.

만들려면Ispell사설 토토 사이트, 내장을 사용하세요ispell템플릿을 작성하고 여러 매개변수를 지정하십시오.

텍스트 검색 사설 토토 사이트 생성 english_ispell(
    템플릿 = ispell,
    DictFile = 영어,
    AffFile = 영어,
    StopWords = 영어
);

여기,딕트파일, AffFile불용어사설 토토 사이트의 기본 이름, 접사 및 불용어 파일. 불용어 파일의 형식은 동일합니다. 위에 설명된간단한사설 토토 사이트 유형. 다른 파일의 형식은 지정되지 않았습니다. 여기에 있지만 위에서 언급한 웹사이트에서 사용할 수 있습니다.

Ispell 사설 토토 사이트은 일반적으로 제한된 세트의 따라서 그 뒤에는 더 넓은 범위의 단어가 와야 합니다. 사설 토토 사이트; 예를 들어 Snowball 사설 토토 사이트이 있습니다. 모든 것을 인식합니다.

Ispell 사설 토토 사이트은 복합어 분리를 지원합니다; 에 유용한 기능. 첨부 파일은 다음을 지정해야 합니다. 를 사용하는 특수 플래그복합어 통제됨할 수 있는 사설 토토 사이트 단어를 표시하는 문 화합물 형성에 참여:

복합어 제어 z

다음은 노르웨이어에 대한 몇 가지 예입니다:

SELECT ts_lexize('norwegian_ispell', 'overbulzonterningpakkmesterassistant');
   오버,불종,터닝,팩,메스터,어시스턴트

참고: MySpell복합어는 지원하지 않습니다.훈스펠정교한 지원 기능을 갖추고 있습니다. 복합어. 현재,PostgreSQL기본적인 것만 구현합니다. Hunspell의 복합어 연산.

12.6.6. 눈덩이사설 토토 사이트

눈덩이사설 토토 사이트 템플릿은 다음의 발명가인 Martin Porter의 프로젝트를 기반으로 합니다. 영어에 대한 인기 있는 포터의 형태소 분석 알고리즘 언어. Snowball은 이제 다양한 형태의 형태소 분석 알고리즘을 제공합니다. 언어(참조눈덩이 사이트자세한 정보는). 각각 알고리즘은 공통 변형 형태를 줄이는 방법을 이해합니다. 단어를 해당 언어 내에서 기본 또는 어간으로 철자하는 것입니다. 에이 Snowball 사설 토토 사이트에는 다음이 필요합니다.언어어느 형태소 분석기를 식별하는 매개변수 사용하고 선택적으로 a를 지정할 수 있습니다.불용어단어 목록을 제공하는 파일 이름 제거하다. (포스트그레SQL의 표준 불용어 목록도 Snowball에서 제공됩니다. 프로젝트.) 예를 들어 기본 제공 정의가 있습니다. 에 해당함

텍스트 검색 사설 토토 사이트 생성 english_stem(
    템플릿 = 눈덩이,
    언어 = 영어,
    StopWords = 영어
);

불용어 파일 형식은 이미와 동일합니다 설명했습니다.

A 눈덩이사설 토토 사이트 단순화할 수 있는지 여부에 관계없이 모든 것을 인식합니다. 그 단어는 사설 토토 사이트의 맨 마지막에 위치해야 합니다. 목록. 다른 사설 토토 사이트보다 먼저 갖는 것은 쓸모가 없습니다 토큰은 다음 토큰으로 절대 전달되지 않기 때문입니다. 사설 토토 사이트.