Dictionaries는 그렇지 않은 단어를 제거하는 데 사용됩니다. 검색에서 고려 (단어 중지) 및 에게정상화다른 단어 같은 단어의 파생 된 형태가 일치합니다. 성공적으로 정규화 된 단어는 a라고합니다.lexeme. 곁에 검색 품질, 정규화 및 정지 제거 개선에서 단어는의 크기를 줄입니다.TSVECTOR문서 표현으로 성능이 향상됩니다. 정규화는 항상 언어 적 의미를 갖지는 않습니다 응용 프로그램 의미에 따라 다릅니다.
정규화의 일부 예 :
언어 - ISPELL 토토 사이트 추천은 입력 단어를 정규화 된 형태; Stemmer 토토 사이트 추천은 단어 결말 제거
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이후에 동일합니다 소수점 이후 두 자리 만 유지되는 경우 정규화 가리키다.
토토 사이트 추천은 토큰을 입력으로 받아들이는 프로그램입니다. 보고:
입력 토큰이 사전 (하나의 토큰이 하나 이상 lexeme)
단일 lexemeTSL_FILTER플래그 세트, 원본 토큰을 새로운 토큰으로 교체하려면 후속 토토 사이트 추천으로 전달되었습니다 (이를 수행하는 토토 사이트 추천 a필터링 토토 사이트 추천)
토토 사이트 추천이 토큰을 알고 있다면 빈 배열이지만 중지 단어
null토토 사이트 추천이없는 경우 입력 토큰 인식
PostgreSQL토토 사이트 추천 정의 된 제공 많은 언어의 토토 사이트 추천. 토토 사이트 추천 정의 된 몇 가지가 있습니다 맞춤형으로 새로운 토토 사이트 추천을 만드는 데 사용할 수있는 템플릿 매개 변수. 각 토토 사이트 추천 정의 된 토토 사이트 추천 템플릿은 아래에 설명되어 있습니다. 기존 템플릿이 적합하지 않으면 새로운 생성이 가능합니다. 하나; 참조Contrib/영역PostgreSQL분포 예제.
텍스트 검색 구성은 세트와 함께 파서를 바인딩합니다. 파서의 출력 토큰을 처리하기위한 토토 사이트 추천. 각각에 대해 파서가 반환 할 수있는 토큰 유형, 별도의 목록 토토 사이트 추천은 구성에 의해 지정됩니다. 토큰의 경우 이 유형은 파서에 의해 발견되며 목록의 각 토토 사이트 추천은 다음과 같습니다. 일부 토토 사이트 추천은 그것을 알려진 것으로 인식 할 때까지 상담 단어. 중지 단어로 식별되거나 토토 사이트 추천이없는 경우 토큰을 인식하면 폐기되고 색인화되지 않거나 검색했습니다. 일반적으로, 반환하는 첫 번째 토토 사이트 추천 비NULL출력 결과를 결정합니다 나머지 토토 사이트 추천은 상담되지 않습니다. 그러나 필터링 토토 사이트 추천은 주어진 단어를 수정 된 단어로 대체 할 수 있습니다. 그런 다음 후속 토토 사이트 추천으로 전달됩니다.
토토 사이트 추천 목록을 구성하는 일반적인 규칙은 다음과 같습니다. 가장 좁고 가장 구체적인 토토 사이트 추천을 먼저 배치 한 다음 더 일반적인 토토 사이트 추천, 매우 일반적인 토토 사이트 추천 토토 사이트 추천, 같은SnowballStemmer 또는단순모든 것. 예를 들어, 천문학 별 검색의 경우 (Astro_en구성) 바인딩 할 수 있습니다 토큰 유형asciiword(ascii Word)에서 a 천문학적 용어의 동의어 토토 사이트 추천, 일반 영어 토토 사이트 추천 및 ASnowball영어 Stemmer :
텍스트 검색 구성 Astro_en Astrosyn, English_ispell, English_stem;로 Asciiword에 대한 매핑 추가
필터링 토토 사이트 추천은 목록의 어느 곳에도 배치 할 수 있습니다. 끝을 제외하고는 쓸모가 없습니다. 필터링 토토 사이트 추천입니다 나중에 작업을 단순화하기 위해 단어를 부분적으로 정규화하는 데 유용합니다. 사전. 예를 들어, 필터링 토토 사이트 추천이 익숙해 질 수 있습니다 에 의해 수행 된대로 악센트 문자에서 악센트를 제거하십시오.Unaccent모듈.
단어 중지 단어는 매우 흔한 단어입니다. 모든 문서, 차별 가치가 없습니다. 그러므로 그들은 전문 검색의 맥락에서 무시할 수 있습니다. 예를 들어, 모든 영어 텍스트에는와 같은 단어가 포함됩니다.aandthe이므로 저장하는 것은 쓸모가 없습니다 색인. 그러나 단어 중지 단어는의 위치에 영향을 미칩니다.tsvector, 순위에 영향을 미칩니다 :
select to_tsvector ( '영어', '중지 단어 목록에서'); to_tsvector ---------------------------- '목록': 3 '정지': 5 '단어': 6
누락 된 위치 1,2,4는 중지 단어 때문입니다. 순위 중지 단어 유무에 관계없이 문서에 대해 계산됩니다. 다른:
select ts_rank_cd (to_tsvector ( '영어', '중지 단어 목록에서'), to_tsquery ( 'list & stop')); TS_RANK_CD ------------ 0.05 ts_rank_cd (to_tsvector ( '영어', '목록 중지 단어'), to_tsquery ( 'list & stop')); TS_RANK_CD ------------ 0.1
그것은 특정 토토 사이트 추천에 달려 있습니다. 예를 들어,Ispell사전 먼저 단어를 정상화 한 다음 중지 단어 목록을보고Snowballstemmers는 먼저 목록을 확인합니다 단어 중지. 다른 행동의 이유는 소음 감소.
the단순사전 템플릿이 작동합니다 입력 토큰을 소문자로 변환하여 확인함으로써 중지 단어의 파일. 파일에서 발견되면 빈 배열이 반환되어 토큰이 폐기됩니다. 그렇지 않다면 하위 기반 형태의 단어는 정규화 된 lexeme으로 반환됩니다. 또는 사전을보고하도록 구성 할 수 있습니다 인식 할 수없는 비 스톱 워드, 이들은 목록의 다음 사전.
다음은를 사용한 토토 사이트 추천 정의의 예입니다.단순템플릿 :
텍스트 검색 토토 사이트 추천 생성 public.simple_dict ( 템플릿 = pg_catalog.simple, stopwords = 영어 );
여기,영어a의 기본 이름입니다 중지 단어의 파일. 파일의 이름은입니다.$ sharedir/tsearch_data/el, 여기서$ sharedir의미PostgreSQL설치의 공유 데이터 디렉토리, 종종/usr/local/share/postgresql(사용PG_CONFIG -SHAREDIR그렇지 않은지 결정합니다 확신하는). 파일 형식은 단순히 줄 당 단어 목록입니다. 빈 줄과 후행 공간은 무시되고 대문자는 소문자로 접 히지 만 파일에서 다른 처리는 수행되지 않습니다. 내용물.
이제 우리는 토토 사이트 추천을 테스트 할 수 있습니다 :
ts_lexize ( 'public.simple_dict', 'yes'); ts_lexize ---------- 예 select ts_lexize ( 'public.simple_dict', 'the'); ts_lexize ----------
우리는 또한 반환을 선택할 수 있습니다NULL, 중지에서 찾을 수없는 경우 하위 표지 단어 대신 단어 파일. 이 동작은 토토 사이트 추천을 설정하여 선택됩니다수락매개 변수false. 예제 계속 :
텍스트 검색 사전 Alter Alter Alter.simple_dict (accept = false); ts_lexize ( 'public.simple_dict', 'yes')를 선택하십시오. ts_lexize ---------- select ts_lexize ( 'public.simple_dict', 'the'); ts_lexize ----------
기본 설정의수락=true, a 배치하는 것이 유용합니다.단순목록 끝의 토토 사이트 추천 토토 사이트 추천은 다음과 같은 토큰을 전달하지 않기 때문에 토토 사이트 추천. 거꾸로,수락=거짓가있을 때만 유용합니다 토토 사이트 추천 다음과 같은 최소 하나.
주의 |
대부분의 토토 사이트 추천 유형은 구성 파일에 의존합니다. 중지 단어의 파일. 이 파일필수UTF-8 인코딩에 저장하십시오. 실제 데이터베이스 인코딩으로 변환됩니다. 그들이 서버에 읽을 때 다른 것들. |
주의 |
일반적으로 데이터베이스 세션은 토토 사이트 추천을 읽습니다 구성 파일은 한 번만 세션. 구성 파일을 수정하고 강제로 새로운 내용을 선택하려면 기존 세션, 발행텍스트 검색 토토 사이트 추천 변경명령에서 토토 사이트 추천. 이것은 A 일 수 있습니다."더미"업데이트 실제로 매개 변수 값을 변경하지 않습니다. |
이 사전 템플릿은 사전을 만드는 데 사용됩니다 단어를 동의어로 바꾸십시오. 문구는 지원되지 않습니다 (사용하십시오 시소러스 템플릿 (섹션 12.6.4). 동의어 사전을 사용하여 극복 할 수 있습니다 예를 들어 영어 스티머를 예방하기위한 언어 문제 단어 감소에서 사전"파리"to"pari". 그것은 충분히파리 파리동의어 토토 사이트 추천 및 전에 넣어English_Stem토토 사이트 추천. 예를 들어:
선택 *에서 ts_debug ( '영어', '파리'); 별칭 | 설명 | 토큰 | 사전 | 사전 | Lexemes ------------+---------------------------------------------------------------------------- asciiword | 단어, 모든 ascii | 파리 | English_Stem | English_stem | pari 텍스트 검색 사전 생성 my_synonym ( 템플릿 = 동의어, 동의어 = my_synonyms ); 텍스트 검색 구성 영어를 변경합니다 asciiword에 대한 변경 매핑 my_synonym, 영어 _stem; 선택 *에서 ts_debug ( '영어', '파리'); 별칭 | 설명 | 토큰 | 사전 | 사전 | Lexemes -----------+---------------------------------------------------------------------------------------- asciiword | 단어, 모든 ascii | 파리 | my_synonym, 영어 _stem | my_synonymy | 파리
동의어템플릿은동의어, 이는 그 기본 이름입니다 구성 파일 -my_synonymsin 위의 예. 파일의 이름은입니다.$ sharedir/tsearch_data/my_synonyms.syn(여기서$ sharedir의미postgresql설치의 공유 데이터 예배 규칙서). 파일 형식은 단어 당 하나의 줄입니다. 대체 된 단어와 그 동의어가 이어지고 분리된다. 여백. 빈 줄과 후행 공간은 무시됩니다.
the동의어템플릿도 있습니다 선택적 매개 변수Cassensitive기본값으로false. 언제cassensitiveis거짓, 동의어 파일의 단어는 입력과 같이 소문자로 접 힙니다. 토큰. 그 때true, 단어 및 토큰 소문자로 접히지 않았지만 비교됩니다.
별표 (*)에 배치 할 수 있습니다
구성 파일의 동의어 끝. 이것은
동의어는 접두사입니다. 항목이 사용될 때 별표는 무시됩니다
안에to_tsvector ()
, 그러나 그것이 사용될 때
안에to_tsquery ()
, 결과는 a
접두사 매치 마커가있는 쿼리 항목 (참조섹션
12.3.2). 예를 들어,이 항목이에 있다고 가정합니다.$ sharedir/tsearch_data/synonym_sample.syn:
Postgres pgsql postgresql pgsql postgre pgsql Gogle Googl 지수 인덱스*
그러면 우리는 다음과 같은 결과를 얻을 것입니다 :
mydb =# 텍스트 검색 토토 사이트 추천 생성 (template = synonyms = 'synonyfy_sample'); mydb =# select ts_lexize ( 'syn', 'indices'); ts_lexize ---------- 색인
ATAUSURUS 토토 사이트 추천 (때로는 약칭TZ)는 포함 된 단어 모음입니다 단어와 문구의 관계에 대한 정보, 즉 더 넓은 용어 (BT), 좁은 용어 (nt), 선호하는 용어, 선호되지 않은 용어, 관련 용어 등
기본적으로 동의어 사전 사전은 모든 선호되지 않은 모든 것을 대체합니다 하나의 선호하는 용어로 용어를 선호하며 선택적으로 원본을 보존합니다. 인덱싱 용어도 있습니다.PostgreSQL의 현재 구현 동의어 사전 사전은 동의어 사전의 연장입니다. 추가문구지원. 시소러스 토토 사이트 추천에는 다음의 구성 파일이 필요합니다 체재:
# 이것은 주석입니다 샘플 단어 : 색인 단어 (들) 더 많은 샘플 단어 : 더 많은 색인이있는 단어 (들) ...
콜론 (:) 기호는 문구와 교체 사이의 구분 기호.
ATSAURUS 토토 사이트 추천은 a를 사용합니다.subdictionary(이에 지정되어 있습니다 사전 구성) 이전 입력 텍스트를 정상화하려면 문구 일치 확인. 하나만 선택할 수 있습니다 하위 소설. 하위 소설이 실패하면 오류 가보고됩니다 단어를 인식하십시오. 이 경우 사용을 제거해야합니다. 그것에 대해 단어를 말하거나 가르치십시오. 별표를 배치 할 수 있습니다 (*) 인덱스 된 단어의 시작 부분에서 그에 대한 하위 소설 적용을 건너 뛰지만 모든 샘플 단어필수하위 소설.
시소러스 사전은 가장 긴 경기를 선택합니다. 입력과 일치하는 여러 문구를 사용하여 타이가 깨졌습니다. 마지막 정의.
하위 소설에 의해 인식되는 특정 정지 단어는 될 수 없습니다 지정; 대신 사용?중지 단어가 나타날 수있는 위치. 예를 들어,를 가정합니다.a및theare 하위 데이터에 따라 단어를 중지하십시오 :
? 하나 ? 둘 : SWSW
매치하나의 두 사람and하나 A 2; 둘 다 대체SWSW.
동의어 사전에는 인식 할 능력이 있기 때문에 문구 상태를 기억하고 파서와 상호 작용해야합니다. 에이 시소러스 사전은이 과제를 사용하여 해야하는지 확인합니다. 다음 단어를 처리하거나 축적을 중지하십시오. 시소러스 사전 신중하게 구성해야합니다. 예를 들어, 시소러스 인 경우 사전은 만 처리하도록 할당됩니다.asciiword토큰, 그런 다음 동의어 사전 정의와 같은1 7그 이후로 작동하지 않습니다 토큰 유형uint시소러스 토토 사이트 추천.
주의 |
thesuruses는 인덱싱 중에 사용되므로 시소러스 사전의 매개 변수요구Reindexing. 대부분의 경우 사전 유형, 추가 또는 제거와 같은 작은 변화 Stopwords는 다시 인덱싱을 강요하지 않습니다. |
새로운 시소러스 토토 사이트 추천을 정의하려면 사용하십시오.THESAURUS템플릿. 예를 들어:
텍스트 검색 사전 생성 Thesaurus_simple ( 템플릿 = 시소러스, Dictfile = Mythesaurus, 사전 = pg_catalog.english_stem );
여기 :
THESAURUS_SIMPLE새로운 것입니다 토토 사이트 추천 이름
Mythesaurus는 기본 이름입니다 동의어 사전 구성 파일. (전체 이름이 될 것입니다$ sharedir/tsearch_data/mythesaurus.ths, 여기서$ sharedir설치를 의미합니다 공유 데이터 디렉토리.)
pg_catalog.english_stemis 사용하기 위해 (여기, 눈덩이 영어 스템머) 동의어 사전 정규화. 하위 데이터는 가질 것입니다 자체 구성 (예 : 중지 단어)은 표시되지 않습니다. 여기.
이제 동의어 사전에 묶을 수 있습니다THESAURUS_SIMPLE원하는 토큰 유형 a 구성, 예 :
텍스트 검색 구성 러시아어 변경 asciiword, asciihword, hword_asciipart에 대한 Alter 매핑 Thesaurus_simple과 함께;
간단한 천문 동의어 사전을 고려Thesaurus_astro, 여기에는 천문학적이 포함되어 있습니다 단어 조합 :
Supernovae Stars : Sn 게 성운 : 게
아래에서 우리는 사전을 만들고 일부 토큰 유형을 천문학적 동의어 사전과 영어 stemmer :
텍스트 검색 사전 생성 Thesaurus_astro ( 템플릿 = 시소러스, dictfile = thesaurus_astro, 사전 = 영어 _stem ); 텍스트 검색 구성 러시아어 변경 asciiword, asciihword, hword_asciipart에 대한 Alter 매핑 Thesaurus_astro와 함께, English_stem;
이제 우리는 그것이 어떻게 작동하는지 알 수 있습니다.ts_lexize
테스트에 그다지 유용하지 않습니다
시소러스는 입력을 단일 토큰으로 취급하기 때문입니다. 대신에
우리는 사용할 수 있습니다Plainto_tsquery
andto_tsvector
문자열을 여러 토큰으로 입력 :
Plainto_tsquery ( 'Supernova Star')를 선택합니다. Plainto_tsquery ------------------ 'sn' 선택 to_tsvector ( 'Supernova Star'); to_tsvector ------------- 'sn': 1
원칙적으로 사용할 수 있습니다to_tsquery
당신이 인용하는 경우 :
select to_tsquery ( '' ''Supernova Star '' '); to_tsquery ------------ 'sn'
Supernova Star매치Supernovae StarsinThesaurus_astro우리가 지정했기 때문에English_Stem동의어 사전 정의의 층간. stemmer가를 제거했습니다.e및S.
원래 문구와 대체물을 색인하려면 정의의 오른쪽 부분에 포함 시키십시오 :
Supernovae Stars : SN 초신성 스타 Plainto_tsquery ( 'Supernova Star')를 선택하십시오. Plainto_tsquery --------------------------------- 'sn'& 'supernova'& 'star'
theIspell토토 사이트 추천 템플릿 지원형태 학적 토토 사이트 추천많은 다른 언어 형태의 단어를 정상화 할 수 있습니다. 동일한 렉소. 예를 들어, 영어Ispell토토 사이트 추천은 모든 거절과 일치 할 수 있습니다 및 검색어의 공액은행, 예 :뱅킹, 은행, 은행, Banks '및Bank 's.
표준PostgreSQL분포는 포함되지 않습니다Ispell구성 파일. a 많은 수의 언어가에서 사용할 수 있습니다.Ispell. 또한 더 현대적인 토토 사이트 추천 파일 형식 지원됩니다 -MySpell(oo <2.0.1) 및Hunspell(oo = 2.0.2). 큰 토토 사이트 추천 목록 에서 사용할 수 있습니다.OpenOffice Wiki.
생성Ispell토토 사이트 추천, 내장 사용Ispell템플릿 및 여러 매개 변수 지정 :
텍스트 검색 사전 생성 English_ispell ( 템플릿 = ispell, dictfile = 영어, afffile = 영어, stopwords = 영어 );
여기,dictfile, afffile및Stopwords토토 사이트 추천, 부착 및 스톱워드의 기본 이름을 지정합니다. 파일. STOP-WORDS 파일은 위에서 설명한 동일한 형식을 가지고 있습니다. 그만큼단순토토 사이트 추천 유형. 형식 다른 파일은 여기에 지정되어 있지 않지만 위에서 언급 한 웹 사이트.
ispell 사전은 일반적으로 제한된 단어 세트를 인식합니다. 그들은 또 다른 더 넓은 사전이 뒤 따릅니다. 예를 들어, 모든 것을 인식하는 눈덩이 사전.
Ispell 사전은 화합물 단어 분할 지원; 유용합니다 특징. 부착 파일은 특수 플래그를 지정해야합니다. 사용 사용복합 단어 제어참여할 수있는 토토 사이트 추천 단어를 표시하는 진술 화합물 형성 :
복합 단어 제어 Z
노르웨이어 언어에 대한 몇 가지 예는 다음과 같습니다.
ts_lexize ( 'Norwegian_ispell', 'overbuljongterningpakkmesterissistent'); Over, Buljong, Terning, Pakk, Mester, Assistent
참고 : MySpell그렇지 않습니다 복합 단어 지원.Hunspell복합 단어에 대한 정교한 지원이 있습니다. 현재,PostgreSQLHunspell의 기본 복합 단어 작업.
theSnowball사전 템플릿은 Martin Porter의 프로젝트를 기반으로합니다. 영어에 대한 인기있는 포터의 줄기 알고리즘. Snowball은 이제 많은 언어에 대한 줄기 알고리즘을 제공합니다 (참조 그만큼눈덩이 대지자세한 내용은). 각 알고리즘은 방법을 이해합니다 일반적인 변형 형태의 단어를 기지 또는 스템으로 줄여 언어 내에서. 눈덩이 토토 사이트 추천에는 A가 필요합니다.언어사용할 수있는 스템머를 식별하는 매개 변수, 그리고 선택적으로 a를 지정할 수 있습니다.Stopword파일 제거 할 단어 목록을 제공하는 이름. (PostgreSQL의 표준 스톱워드 목록도 있습니다 예를 들어 Snowball Project에서 제공합니다.) 예를 들어 내장이 있습니다. 정의와 동등한
텍스트 검색 사전 작성 영어 _stem ( 템플릿 = 눈덩이, 언어 = 영어, stopwords = 영어 );
Stopword 파일 형식은 이미 설명한 것과 동일합니다.
aSnowball사전 단순화 할 수 있는지 여부에 관계없이 모든 것을 인식합니다. 단어, 사전 목록의 끝에 배치해야합니다. 그것 토큰이기 때문에 다른 사전 전에 그것을 갖는 것은 쓸모가 없습니다. 다음 사전으로 전달하지 않을 것입니다.
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
파서 | up | 구성 예 |