学习目标:学习openGauss全文检索
课程内容:
openGauss提供了两种数据类型用于支持全文检索。tsvector类型表示为文本搜索优化的文件格式,tsquery类型表示文本查询
部分学习内容如下:

课程作业:
1.用tsvector @@ tsquery和tsquery @@ tsvector完成两个基本文本匹配
omm=# select 'fig pig hit lok hit'::tsvector @@ 'pig & cat'::tsquery as result;
result
--------
f
(1 row)
omm=# select 'fig pig hit lok hit'::tsvector @@ 'pig & hit'::tsquery as result;
result
--------
t
(1 row)
omm=# select 'ok & 3ks'::tsquery @@ 'o k ok 3 3ks ks '::tsvector as result;
result
--------
t
(1 row)
omm=# select 'ok3 & 3ks'::tsquery @@ 'o k ok 3 3ks ks '::tsvector as result;
result
--------
f
(1 row)
2.创建表且至少有两个字段的类型为 text类型,在创建索引前进行全文检索
omm=# create table text_table(id integer,title text,content text);
CREATE TABLE
omm=# insert into text_table values(1,'opengauss','good database');
INSERT 0 1
omm=# insert into text_table values(2,'table','easy to operate');
INSERT 0 1
omm=# select * from text_table where to_tsvector(title || ' ' || content) @@ to_tsquery('database');
id | title | content
----+-----------+---------------
1 | opengauss | good database
(1 row)
3.创建GIN索引
omm=# create index gin_index on text_table using gin(to_tsvector('english',title));
CREATE INDEX
4.清理数据
omm=# drop table text_table;
DROP TABLE




