| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 토토 결과 : 문서 : 9.3 : 비트 문자열 유형 | PostgreSQL : 문서 : 9.3 : 데이터 윈 토토 | 8장. 데이터 토토 베이 | PostgreSQL : 문서 : 9.3 : 토토 핫 유형 | |
포스트그레SQL두 개의 데이터를 제공합니다 전체 텍스트 검색을 지원하도록 설계된 토토 베이입니다. 자연어 모음을 검색하는 활동문서가장 일치하는 항목을 찾으려면 에질의.ts벡터토토 베이은 최적화된 형식의 문서를 나타냅니다. 텍스트 검색을 위해; 그만큼tsquery비슷하게 입력하세요 토토 베이 쿼리를 나타냅니다.사설 토토 : 문서 : 9.3 : 전문 검색이 시설에 대한 자세한 설명을 제공합니다.9.13항관련 내용을 요약합니다. 함수와 연산자.
A ts벡터값은 정렬된 목록입니다. 별개의어휘, 이는 다음과 같은 단어입니다. 이미정규화다른 것을 병합하려면 같은 단어의 변형(참조사설 토토 : 문서 : 9.3 : 전문 검색자세한 내용). 정렬 및 중복 제거가 수행됩니다. 다음 예와 같이 입력 중에 자동으로:
SELECT '뚱뚱한 고양이가 매트 위에 앉아 살찐 쥐를 먹었습니다'::tsVector;
ts벡터
---------------------------------------
'a' 'and' 'ate' 'cat' 'fat' 'mat' 'on' 'rat' 'sat'
공백이나 구두점이 포함된 어휘를 표현하려면, 따옴표로 묶으세요.
SELECT $$' ' 어휘에는 공백$$::ts벡터가 포함되어 있습니다.
ts벡터
------------------------------
' ' '포함' '어휘소' '공백' 'the'
(이 예에서는 달러로 묶인 문자열 리터럴을 사용하며 큰따옴표를 사용해야 하는 혼란을 피하기 위해 다음 것 리터럴 내에서.) 포함된 따옴표와 백슬래시는 다음과 같아야 합니다. 두 배로 늘었습니다:
SELECT $$'Joe''라는 어휘에는 인용문이 포함되어 있습니다$$::tsVector;
ts벡터
------------------------------------------------
'Joe''s' 'a' '포함' '어휘소' '인용문' 'the'
선택적으로 정수위치될 수 있습니다 어휘소에 첨부됨:
SELECT 'a:1 fat:2 cat:3 sat:4 on:5 a:6 mat:7 and:8 ate:9 a:10 fat:11 rat:12'::tsVector;
ts벡터
------------------------------------------------------------------
'a':1,6,10 '및':8 'ate':9 'cat':3 'fat':2,11 'mat':7 'on':5 'rat':12 'sat':4
위치는 일반적으로 소스 단어의 위치를 나타냅니다. 문서. 위치 정보는 다음 용도로 사용될 수 있습니다.근접 순위. 위치 값의 범위는 1입니다. 16383으로; 더 큰 숫자는 자동으로 16383으로 설정됩니다. 중복 동일한 어휘의 위치는 삭제됩니다.
위치가 있는 어휘는 다음으로 추가로 라벨을 붙일 수 있습니다.무게, 다음과 같습니다.A, B, C또는D. D은 기본값이므로 표시되지 않습니다. 출력:
SELECT 'a:1A 지방:2B,4C 고양이:5D'::ts벡터;
ts벡터
---------------
'a':1A '고양이':5 '지방':2B,4C
가중치는 일반적으로 문서 구조를 반영하는 데 사용됩니다. 예를 들어 제목 단어를 본문 단어와 다르게 표시합니다. 텍스트 검색 순위 기능은 다른 체중 표시.
다음을 이해하는 것이 중요합니다.ts벡터토토 베이 자체는 어떤 작업도 수행하지 않습니다. 정규화; 주어진 단어가 정규화되었다고 가정합니다. 응용 프로그램에 적합하게. 예를 들어,
'살찐 쥐'를 선택하세요::tsVector;
ts벡터
-------
'뚱뚱한' '쥐' '그'
대부분의 영어 텍스트 검색 응용프로그램에서 위의 단어는
정규화되지 않은 것으로 간주되지만ts벡터상관없어요. 원시 문서 텍스트는 일반적으로
통과하다to_ts벡터에
검색에 적합하게 단어를 정규화합니다.
SELECT to_tsVector('english', 'The Fat Rats');
to_ts벡터
-----------------
'지방':2 '쥐':3
다시, 참조사설 토토 : 문서 : 9.3 : 전문 검색더 보기 자세히.
A tsquery값은 다음과 같은 어휘를 저장합니다. 부울 연산자를 존중하여 검색하고 결합합니다.&(그리고),|(OR) 및!(아닙니다). 괄호를 사용할 수 있습니다. 연산자 그룹화를 시행하려면:
SELECT '지방 및 쥐'::tsquery;
쿼리
---------------
'뚱뚱하다'와 '쥐'
SELECT '지방 & (쥐 | 고양이)'::tsquery;
쿼리
--------------
'지방' & ( '쥐' | '고양이' )
SELECT '지방 & 쥐 & ! 고양이'::tsquery;
쿼리
-----------
'뚱뚱하다' & '쥐' & !'고양이'
괄호가 없으면,!(아님) 가장 단단하게 결합되며&(AND) 바인드 보다 더 단단하게|(또는).
선택적으로 a의 어휘소tsquery될 수 있습니다 하나 이상의 중량 문자로 라벨이 지정되어 있습니다. 일치만ts벡터일치하는 어휘소 가중치:
SELECT 'fat:ab & cat'::tsquery;
쿼리
------------------
'지방':AB & '고양이'
또한 a의 어휘소tsquery라벨 지정 가능 와 함께*접두사 일치를 지정하려면:
SELECT 'super:*'::tsquery; 쿼리 ----------- '슈퍼':*
이 쿼리는 다음의 모든 단어와 일치합니다.ts벡터다음으로 시작하는"슈퍼". 접두사는 먼저 처리됩니다. 텍스트 검색 구성. 이는 이 비교가 다음을 반환함을 의미합니다. 사실:
SELECT to_tsVector( '대학원' ) @@ to_tsquery( 'postgres:*' ); ?열? ---------- 티 (1행)
왜냐하면포스트그레어간으로 이어짐postgr:
SELECT to_tsquery('postgres:*');
to_tsquery
------------
'포스트그':*
(1행)
그러면 일치합니다대학원.
어휘에 대한 인용 규칙은 이전에 설명한 것과 동일합니다
어휘의 경우ts벡터; 그리고, 마찬가지로ts벡터, 필요한 단어 정규화
로 변환하기 전에 완료해야 합니다.tsquery토토 베이.to_tsquery함수는
이러한 정규화를 수행하는 데 편리합니다.
SELECT to_tsquery('Fat:ab & 고양이');
to_tsquery
------------------
'지방':AB & '고양이'| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 비트 문자열 토토 베이 | PostgreSQL : 문서 : 9.3 : 데이터 윈 토토 | UUID토토 베이 |