tsvector는 postgresql이 제공하는 검색에 최적화된 타입입니다.
보통 tsvector를 사용하는 방법은 이렇습니다.
select to_tsvector('english', $$I went to pizza store to eat pizza$$);
to_tsvector
----------------------------------------
'eat':7 'pizza':4,8 'store':5 'went':2
(1 row)
저 위 예시대로 to_tsvector 라는 내장 함수에
postgresql이 tsvector에 어휘소와 어휘소의 위치묶음으로 저장합니다.
그리고 나중에 to_tsquery라는 내장 함수에다가 마찬가지로
또 문자열을 어휘소로 쪼개주는데 얘를 가지고 tsvector와 비교해서 맞는지 확인하면 됩니다.
select to_tsquery('english', 'hamburger');
to_tsquery
------------
'hamburg'
(1 row)
select to_tsvector('english', $$I went to pizza store to eat pizza$$) @@ to_tsquery('english', 'pizza');
?column?
----------
t
(1 row)
select to_tsvector('english', $$I went to pizza store to eat pizza$$) @@ to_tsquery('english', 'hamburger');
?column?
----------
f
(1 row)
Postgresql은 기본적으로, 한국어 어휘소 쪼개는 방법은 제공하지 않습니다.