이 문서는 지원되지 않는 버전의 토토 커뮤니티을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 12.4. 추가 롤 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

12.4. 추가 토토 커뮤니티

이 섹션에서는 추가 토토 커뮤니티 및 연산자를 설명합니다

12.4.1. 조작

섹션원시 텍스트 문서를 어떻게 변환 할 수 있는지 보여주었습니다TSVECTOR값.토토 커뮤니티또한 함수를 제공합니다TSVECTORform.

tsvector||tsvector

thetsvector연결to_tsvectoron

벡터에서 연결을 사용하는 한 가지 장점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를

12.4.2. 조작

섹션원시 텍스트 쿼리를 어떻게 변환 할 수 있는지 보여주었습니다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'));

12.4.2.1. 질문

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,

12.4.3. 자동 트리거

별도의 열을 사용하여 저장할 때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. 이 작업을 수행하지 못합니다

12.4.4. 문서 수집

함수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')