暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第20天|全文检索

原创 惊涛拍岸 2021-12-23
410

学习目标:学习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


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论