12.5. 토토 핫#

텍스트 검색 토토 핫는 원시 문서 텍스트를 분할 할 책임이 있습니다토큰및 가능한 유형 세트가 파서 자체에 의해 정의되는 각 토큰 유형을 식별합니다. 파서는 텍스트를 전혀 수정하지 않으며 단순히 그럴듯한 단어 경계를 식별합니다. 이 제한된 범위로 인해 사용자 정의 사전보다 응용 프로그램 별 커스텀 파서가 필요하지 않습니다. 현재PostgreSQL광범위한 애플리케이션에 유용한 것으로 밝혀진 단 하나의 내장 토토 핫를 제공합니다.

내장 된 토토 핫의 이름이 지정되었습니다PG_CATALOG.DEFAULT. 23 개의 토큰 유형을 인식합니다.표 12.1.

표 12.1. 기본 파서의 토큰 유형

alias 설명 example
asciiword Word, 모든 ASCII Letters 코끼리
Word 단어, 모든 편지 Mañana
numword 단어, 문자 및 숫자 Beta1
asciihword hyphenated Word, All ASCII 최신
hword 하이픈으로 된 단어, 모든 문자 Lógico-Matemática
numhword 하이픈으로 된 단어, 문자 및 숫자 postgresql-beta1
hword_asciipart hyphenated Word Part, All ASCII PostgreSQL맥락에서Postgresql-Beta1
hword_part 하이픈으로 된 단어 부품, 모든 문자 Lógico또는Matemática맥락에서Lógico-Matemática
hword_numpart 하이픈으로 된 단어 부품, 문자 및 숫자 Beta1맥락에서postgresql-beta1
이메일 이메일 주소 foo@example.com
프로토콜 프로토콜 헤드 http : //
URL URL example.com/stuff/index.html
host host example.com
url_path URL 경로 /stuff/index.html, URL의 맥락에서
파일 파일 또는 경로 이름 /usr/local/foo.txt, URL 내에 있지 않은 경우
sfloat 과학 표기법 -1.234E56
float 소수점 표기법 -1.234
int 서명 정수 -1234
uint 서명되지 않은 정수 1234
버전 버전 번호 8.3.0
tag XML 태그 <a href = "dictionaries.html"
엔티티 XML 엔티티 & amp;
blank 공간 기호 (모든 공백 또는 구두점이 인식되지 않음)

Note

토토 핫의 개념Letter데이터베이스의 로케일 설정, 특히에 따라 결정됩니다.LC_CTYPE. 기본 ASCII 문자 만 포함하는 단어는 때로는 별도의 토큰 유형으로보고됩니다. 때로는 구별하는 것이 유용하기 때문입니다. 대부분의 유럽 언어에서 토큰 유형Wordasciiword똑같이 취급해야합니다.

이메일|RFC 5322. 특히, 이메일 사용자 이름을 지원하는 유일한 비 널리 퍼마 릭 문자는 기간, 대시 및 밑줄입니다.

tagW3C 추천, XML. 구체적으로, 지원되는 유일한 태그 이름은 ASCII 문자, 밑줄 또는 콜론으로 시작하고 문자, 숫자, 하이픈, 밑줄, 기간 및 콜론 만 포함하는 이름입니다..tag<!-그리고 끝나는-및 XML 선언 (그러나 여기에는가 포함되어 있습니다.<? x그리고 끝나는).

파서가 같은 텍스트에서 겹치는 토큰을 생성 할 수 있습니다. 예를 들어, 하이픈으로 된 단어는 전체 단어와 각 구성 요소로보고됩니다.

ts_debug의 별명, 설명, 토큰 선택 ( 'foo-bar-beta1');
      별칭 |               설명 |     토큰
------------------------------------------------------------------------------------------------------------------------------
 numhword | 하이픈으로 된 단어, 문자 및 숫자 | foo-bar-beta1
 hword_asciipart | 하이픈으로 된 단어 부품, 모든 ascii | foo
 blank | 공간 기호 | -
 hword_asciipart | 하이픈으로 된 단어 부품, 모든 ascii | 술집
 blank | 공간 기호 | -
 hword_numpart | 하이픈으로 된 단어 부분, 문자 및 숫자 | 베타 1

이 동작은 전체 복합 단어와 구성 요소 모두에 대한 검색이 작동하도록 허용하기 때문에 바람직합니다. 다음은 또 다른 유익한 예입니다.

ts_debug에서 별명, 설명, 토큰을 선택하십시오 ( 'http://example.com/stuff/index.html');
  별칭 |  설명 |            토큰
----------+------------------------------------------------
 프로토콜 | 프로토콜 헤드 | http : //
 url | url | example.com/stuff/index.html
 호스트 | 호스트 | example.com
 url_path | URL 경로 | /stuff/index.html

정정 제출

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