텍스트 검색 토토 핫는 원시 문서 텍스트를 분할 할 책임이 있습니다토큰및 가능한 유형 세트가 파서 자체에 의해 정의되는 각 토큰 유형을 식별합니다. 파서는 텍스트를 전혀 수정하지 않으며 단순히 그럴듯한 단어 경계를 식별합니다. 이 제한된 범위로 인해 사용자 정의 사전보다 응용 프로그램 별 커스텀 파서가 필요하지 않습니다. 현재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 |
공간 기호 | (모든 공백 또는 구두점이 인식되지 않음) |
토토 핫의 개념“Letter”데이터베이스의 로케일 설정, 특히에 따라 결정됩니다.LC_CTYPE
. 기본 ASCII 문자 만 포함하는 단어는 때로는 별도의 토큰 유형으로보고됩니다. 때로는 구별하는 것이 유용하기 때문입니다. 대부분의 유럽 언어에서 토큰 유형Word
및asciiword
똑같이 취급해야합니다.
이메일
|RFC 5322. 특히, 이메일 사용자 이름을 지원하는 유일한 비 널리 퍼마 릭 문자는 기간, 대시 및 밑줄입니다.
tag
W3C 추천, 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
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면