加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

PostgreSQL何以支持丰富的NoSQL特性?

发布时间:2018-10-11 11:11:43 所属栏目:站长百科 来源:DBAplus社群
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 作者介绍 谭峰,网名francs,中国开源软件推进联盟PostgreSQL分会特聘专家,《PostgreSQL实战》作者之一,《PostgreSQL 9 Administration Cookbook》译者之一。现就职于浙江移动负责应用上云架

tsvector全文检索数据类型代表一个被优化的可以基于搜索的文档,将一串字符串转换成tsvector全文检索数据类型,如下:

  1. mydb=> SELECT 'Hello,cat,how are u? cat is smiling! '::tsvector;  
  2. tsvector  
  3. --------------------------------------------------  
  4. 'Hello,cat,how' 'are' 'cat' 'is' 'smiling!' 'u?'  
  5. (1 row) 

可以看到,字符串的内容被分隔成好几段,但通过::tsvector只是做类型转换,没有进行数据标准化处理,对于英文全文检索可通过函数to_tsvector进行数据标准化,如下所示:

  1. mydb=> SELECT to_tsvector('english','Hello cat,');  
  2. to_tsvector  
  3. -------------------  
  4. 'cat':2 'hello':1  
  5. (1 row) 

Tsquery

tsquery表示一个文本查询,存储用于搜索的词,并且支持布尔操作&、|、!,将字符串转换成tsquery,如下所示:

  1. mydb=> SELECT 'hello&cat'::tsquery;  
  2. tsquery  
  3. -----------------  
  4. 'hello' & 'cat'  
  5. (1 row) 

上述只是转换成tsquery类型,而并没有做标准化,使用to_tsquery函数可以执行标准化,如下所示:

  1. mydb=> SELECT to_tsquery( 'hello&cat' ); 

to_tsquery

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!