12.2. 테이블 및 토토 결과#

이전 섹션의 예제는 단순한 상수 문자열을 사용하여 전체 텍스트 매칭을 보여주었습니다. 이 섹션은 선택적으로 인덱스를 사용하여 테이블 데이터를 검색하는 방법을 보여줍니다.

12.2.2. 토토 결과 생성#

우리는 a를 만들 수 있습니다.index (섹션 12.9) 속도를 높이려면 텍스트 검색 속도 :

gin (to_tsvector ( 'English', Body));를 사용하여 pgweb에서 pgweb_idx 생성 pgweb_idx 생성

2의 2- 관점 버전에 주목하십시오.to_tsvector사용됩니다. 구성 이름을 지정하는 텍스트 검색 기능 만 표현식 토토 결과에서 사용할 수 있습니다 (PostgreSQL : 문서 : 17 : 11.7.와이즈 토토 대한 색인). 토토 결과 내용은의 영향을받지 않아야하기 때문입니다.default_text_search_config. 영향을받은 경우 다른 항목에 포함될 수 있기 때문에 색인 내용이 일치하지 않을 수 있습니다.TSVECTORs는 다른 텍스트 검색 구성으로 생성되었으며 어느 것이 어느 것을 추측 할 수있는 방법이 없습니다. 그러한 색인을 올바르게 덤프하고 복원하는 것은 불가능합니다.

|to_tsvector위의 색인에 사용되었으며, 2- 연락 버전의 만 사용하는 쿼리 참조 만to_tsvector동일한 구성 이름을 가진 이름이 해당 토토 결과를 사용합니다. 즉,where to_tsvector ( 'English', Body) @@ 'a & b'색인을 사용할 수 있지만where to_tsvector (body) @@ 'a & b'할 수 없습니다. 이렇게하면 토토 결과 항목을 생성하는 데 사용되는 동일한 구성으로 만 토토 결과가 사용됩니다.

구성 이름이 다른 열로 지정되는 더 복잡한 표현식 토토 결과를 설정할 수 있습니다 (예 :.

gin을 사용하여 pgweb에서 인덱스 pgweb_idx 생성 (to_tsvector (config_name, body));

여기서config_namepgweb테이블. 이를 통해 각 인덱스 항목에 사용 된 구성을 기록하면서 동일한 인덱스에서 혼합 구성이 가능합니다.WHERE TO_TSVECTOR (config_name, body) @@ 'a & b'.

토토 결과는 열을 연결할 수 있습니다 :

gin을 사용하여 pgweb에서 인덱스 pgweb_idx 생성 (to_tsvector ( 'English', title || ''|| body);

또 다른 접근 방식은 별도를 만드는 것입니다TSVECTOR출력을 유지하려면 열to_tsvector. 이 열을 소스 데이터로 최신 상태로 유지하려면 저장된 생성 열을 사용하십시오.제목andBody, 사용Coalesce한 필드가 여전히 색인이 유지되도록하려면NULL:

ALTER TABLE PGWEB

그러면 우리는 a를 만듭니다.검색 속도를 높이는 색인 :

gin (textsearchable_index_col)을 사용하여 pgweb에서 index textsearch_idx 만들기;

이제 우리는 빠른 전체 텍스트 검색을 수행 할 준비가되었습니다 :

제목을 선택하십시오

표현식 토토 결과에 대한 별도의 열 접근법의 한 가지 장점은 토토 결과를 사용하기 위해 쿼리의 텍스트 검색 구성을 명시 적으로 지정할 필요가 없다는 것입니다. 위의 예에서 볼 수 있듯이 쿼리는에 의존 할 수 있습니다.default_text_search_config. 또 다른 장점은 검색이 더 빨라질 것이라는 점입니다.to_tsvector토토 결과 일치를 확인하기위한 호출. (이것은 GIN 지수보다 GIST 지수를 사용할 때 더 중요합니다. 참조섹션 12.9.) Expression-Index 접근 방식은 설정하기가 더 간단하지만 이후로 디스크 공간이 적습니다.TSVECTOR표현은 명시 적으로 저장되지 않습니다.

정정 제출

문서에 맞지 않는 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면