이전 섹션의 예제는 단순한 상수 문자열을 사용하여 전체 텍스트 매칭을 보여주었습니다. 이 섹션은 선택적으로 인덱스를 사용하여 테이블 데이터를 검색하는 방법을 보여줍니다.
색인없이 전체 텍스트 검색을 수행 할 수 있습니다. 인쇄하는 간단한 쿼리제목
단어가 포함 된 각 행의친구
inBody
필드 IS :
제목을 선택하십시오
이것은 또한와 같은 관련 단어를 찾을 것입니다.친구
and친절한
,이 모든 것이 동일한 정규화 된 lexeme로 축소되므로
위의 쿼리는영어
구성을 사용하여 문자열을 구문 분석하고 정상화해야합니다. 또는 구성 매개 변수를 생략 할 수 있습니다.
제목을 선택하십시오
이 쿼리는에 의해 설정된 구성을 사용합니다.default_text_search_config.
더 복잡한 예는 포함 된 가장 최근의 문서를 선택하는 것입니다Create
and테이블
in제목
또는Body
:
제목을 선택하십시오
명확성을 위해 우리는를 생략했습니다.Coalesce
함유 행을 찾는 데 필요한 기능 호출null
두 필드 중 하나에서.
이러한 쿼리는 사설 토토 사이트없이 작동하지만 대부분의 애플리케이션은 때때로 임시 검색을 제외 하고이 접근 방식이 너무 느리게 나타납니다. 텍스트 검색의 실제 사용은 일반적으로 사설 토토 사이트 생성이 필요합니다.
우리는 a를 만들 수 있습니다.ginindex (섹션 12.9) 텍스트 검색 속도를 높이려면 :
gin을 사용하여 pgweb에서 인덱스 pgweb_idx 생성 (to_tsvector ( 'English', Body));
to_tsvector
사용됩니다. 구성 이름을 지정하는 텍스트 검색 기능 만 표현식 사설 토토 사이트에서 사용할 수 있습니다 (무지개 토토 : 문서 : 11 : 11.7. 표현에 대한 색인). 사설 토토 사이트 내용은의 영향을받지 않아야하기 때문입니다.default_text_search_config. 영향을받은 경우 다른 항목에 포함될 수 있기 때문에 색인 내용이 일치하지 않을 수 있습니다.TSVECTOR
다른 텍스트 검색 구성으로 생성되었으며 어느 쪽인지 추측 할 방법이 없습니다. 그러한 색인을 올바르게 덤프하고 복원하는 것은 불가능합니다.
의 두 가지 반대 버전이기 때문에to_tsvector
위의 사설 토토 사이트에 사용되었으며, 2- 연락 버전을 사용하는 쿼리 참조 만to_tsvector
동일한 구성 이름을 가진 이름이 해당 사설 토토 사이트를 사용합니다. 즉,where to_tsvector ( '영어', 바디) @@ 'a & b'
색인을 사용할 수 있지만where to_tsvector (body) @@ 'a & b'
할 수 없습니다. 이렇게하면 사설 토토 사이트 항목을 생성하는 데 사용되는 동일한 구성으로 만 사설 토토 사이트가 사용됩니다.
구성 이름이 다른 열로 지정되는 더 복잡한 표현식 사설 토토 사이트를 설정할 수 있습니다 (예 :.
gin (to_tsvector (config_name, body))를 사용하여 pgweb에서 인덱스 pgweb_idx 생성;
여기서config_name
의 열입니다.pgweb
테이블. 이를 통해 각 인덱스 항목에 사용 된 구성을 기록하면서 동일한 인덱스에서 혼합 구성이 가능합니다.WHERE TO_TSVECTOR (config_name, body) @@ 'a & b'
.
사설 토토 사이트는 열을 연결할 수 있습니다 :
gin을 사용하여 pgweb에서 인덱스 pgweb_idx 생성 (to_tsvector ( 'earl
또 다른 접근 방식은 별도를 만드는 것입니다TSVECTOR
출력을 유지하려면 열to_tsvector
. 이 예제는의 연결입니다.제목
andBody
, 사용Coalesce
한 필드가 여전히 색인되도록하려면null
:
ALTER TABLE PGWEEB 열 추가 텍스트 검색 가능한_index_col tsvector;
그러면 우리는 a를 만듭니다.gin검색 속도를 높이는 색인 :
gin (textsearchable_index_col)을 사용하여 pgweb에서 index textsearch_idx 만들기;
이제 우리는 빠른 전체 텍스트 검색을 수행 할 준비가되었습니다 :
제목을 선택하십시오
별도의 열을 사용하여 저장할 때TSVECTOR
표현, 유지하려면 트리거를 만들어야합니다TSVECTOR
언제든지 열 전류제목
또는Body
변경.섹션 12.4.3그렇게하는 방법을 설명합니다.
표현식 사설 토토 사이트에 대한 별도의 열 접근법의 한 가지 장점은 사설 토토 사이트를 사용하기 위해 쿼리의 텍스트 검색 구성을 명시 적으로 지정할 필요가 없다는 것입니다. 위의 예에서 볼 수 있듯이 쿼리는에 의존 할 수 있습니다.default_text_search_config
. 또 다른 장점은 검색이 더 빨라질 것이라는 점입니다.to_tsvector
사설 토토 사이트 일치를 확인하기위한 호출. (이것은 GIN 지수보다 GIST 지수를 사용할 때 더 중요합니다. 참조PostgreSQL : 문서 : 11 : 12.9. 텍스트 검색을위한 우선 스포츠 토토 사이트 유형.) Expression-Index 접근 방식은 설정하기가 더 간단하지만 이후로 디스크 공간이 필요합니다.TSVECTOR
표현은 명시 적으로 저장되지 않았습니다.