이 섹션에서는 추가 토토 커뮤니티 및 연산자를 설명합니다
섹션원시 텍스트 문서를 어떻게 변환 할 수 있는지 보여주었습니다TSVECTOR값.토토 커뮤니티또한 함수를 제공합니다TSVECTORform.
tsvector||tsvector
thetsvector연결to_tsvector
on
벡터에서 연결을 사용하는 한 가지 장점to_tsvector
, 당신은 당신입니다setweight
함수는 모든 lexemes를 표시합니다setweight
다른 부품에 레이블을 지정하려는 경우 연결하기 전에
setweight (Vector TSVECTOR,웨이트 "char") 반환tsvector
setweight
사본을 반환합니다웨이트, 어느a,B,C또는d.d새로운 기본값입니다
무게 라벨이 적용됨위치, 아님Lexemes. 입력 인 경우setweight
아무것도하지 않습니다.
길이 (Vector TSVECTOR) 반환정수
저장된 렉시 메스 수를 반환합니다
Strip (Vector TSVECTOR) 반환TSVECTOR
동일한 Lexemes를
섹션원시 텍스트 쿼리를 어떻게 변환 할 수 있는지 보여주었습니다TSQUERY값.토토 커뮤니티또한 함수를 제공합니다TSQUERY양식.
tsquery && tsquery
주어진 두 사람의 동맹을 반환합니다
TSQUERY||tsquery
주어진 두 가지의 또는 전달을 반환합니다
!!tsquery
주어진 쿼리의 부정을 반환합니다.
Numnode (쿼리 tsquery) 반환Integer
노드 수를 반환합니다 (Lexemes Plus 연산자)tsquery. 이 토토 커뮤니티은입니다쿼리의미가 있습니다 (returns
Numnode (Plainto_tsQuery ( 'The Any'))를 선택합니다.
QueryTree (쿼리 tsquery) 반환텍스트
a의 부분을 반환합니다tsquery인덱스 검색에 사용할 수 있습니다. 이 토토 커뮤니티은입니다
select QueryTree (to_tsquery ( '! defined'));
theTS_REWRITE
가족tsquerytsquery-특이 적 버전의 서브 스트링쿼리 rewrite RULE.뉴욕,Big Apple,NYC,고담) 또는 검색을 좁 힙니다섹션). 그러나 재 작성 규칙 세트를 수정할 수 있습니다
TS_REWRITE (Query tsquery,대상 tsquery,대체 tsquery) 반환TSQUERY
이 형태의TS_REWRITE
단순히 싱글을 적용합니다대상IS대체어디에서나쿼리. 예를 들어:
TS_REWRITE ( 'A & B':: TSQUERY, 'A':: TSQUERY, 'C':: TSQUERY);
TS_REWRITE (쿼리 tsquery,select 텍스트) 반환tsquery
이 형태의TS_REWRITE
시작 수락쿼리및 SQLselect명령select두 열의 열을 생산해야합니다tsquery타입. 의 각 행에 대해select결과,19899_19906값. 예를 들어:
테이블 별칭 생성 (t tsquery 기본 키, Ssquery);
여러 재 작성 규칙이 적용되는 경우에 주목하십시오주문 by일부 주문
실제 천문학적 예를 고려해 봅시다. 잘Supernovae사용
테이블 별칭 생성 (t tsquery 기본 키, s tsquery);
우리는 만 업데이트하여 다시 쓰기 규칙을 변경할 수 있습니다.
별칭 업데이트
다시 쓰기 규칙이 있으면 재 작성이 느려질 수 있습니다.TSQUERY타입. 에서
TS_REWRITE ( 'A & B':: TSQUERY,
별도의 열을 사용하여 저장할 때TSVECTOR문서 표현은입니다TSVECTOR문서 컨텐츠 열면 열
tsvector_update_trigger (TSVECTOR_COLUMN_NAME,config_name,text_column_name[, ... ]))TSVECTOR_COLUMN_NAME,config_column_name,text_column_name[, ... ])
이 트리거 함수는 자동으로 A를 계산합니다.tsvector하나 이상의 텍스트 열에서 열, 열,트리거 만들기명령. 그들의 사용의 예
테이블 메시지 작성 (
이 트리거를 만들어 냈습니다.제목또는Body자동으로 반영됩니다TSV, 응용 프로그램이 걱정할 필요없이
첫 번째 트리거 인수는의 이름이어야합니다.TSVECTOR열이 업데이트 될 열입니다. 두 번째tsvector_update_trigger
, 구성search_path. 을 위한tsvector_update_trigger_column
, 두 번째RegConfig. 이것은 a를 허용합니다텍스트,Varchar또는char). 이것들은
이 내장 트리거의 제한은 그들이 치료한다는 것입니다.pl/pgsql방아쇠로
함수 작성 메시지
TSVECTOR트리거 내부의 값default_text_search_config. 이 작업을 수행하지 못합니다
함수TS_STAT
유용합니다
TS_STAT (sqlquery 텍스트, [ 웨이트 텍스트,]Word 텍스트, outndoc 정수,Nentry Integer) 반환Setof Record
SQLQUERY는 텍스트 값입니다TSVECTOR열.TS_STAT
쿼리를 실행하고 반환합니다TSVECTOR데이터. 열이 반환되었습니다
Word 텍스트- Lexeme의 값
ndoc 정수- 문서 수 (TSVECTORs) 단어가 발생했습니다.
Nentry 정수- 총 발생 수
if웨이트만 제공됩니다
예를 들어, 가장 빈번한 10 개의 단어를
선택 *에서 TS_STAT ( 'APOD에서 벡터 선택')
동일하지만 무게로 단어 발생 만 계산a또는B:
선택 *에서 TS_STAT에서 ( 'APOD에서 벡터 선택', 'AB')