数据仓库服务 GAUSSDB(DWS)-解析查询:to_tsquery

时间:2024-12-24 10:32:37

to_tsquery

to_tsquery将查询转换为tsquery数据类型。

to_tsquery([ config regconfig, ] querytext text) returns tsquery

to_tsquery从querytext中创建一个tsquery,querytext必须由布尔运算符& (AND)、| (OR)和! (NOT)分割的单个token组成。这些运算符可以用圆括弧分组。也就是说,to_tsquery输入必须遵循tsquery输入的通用规则,具体请参见文本搜索类型。不同的是基本tsquery以token表面值作为输入,而to_tsquery使用指定或默认分词器将每个token标准化成词素,并依据分词器丢弃属于停用词的token。例如:

1
2
3
4
5
SELECT to_tsquery('english', 'The & Fat & Rats');
   to_tsquery   
---------------
 'fat' & 'rat'
(1 row)

像在基本tsquery中的输入一样,权重可以附加到每个词素来限制它只匹配那些有相同weight(s)的tsvector词素。比如:

1
2
3
4
5
SELECT to_tsquery('english', 'Fat | Rats:AB');
    to_tsquery    
------------------
 'fat' | 'rat':AB
(1 row)

同时,符号“*”也可以附加到词素来指定前缀匹配:

1
2
3
4
5
SELECT to_tsquery('supern:*A & star:A*B');
        to_tsquery        
--------------------------
 'supern':*A & 'star':*AB
(1 row)

这样的词素将匹配tsquery中指定字符串和权重的项。

support.huaweicloud.com/sqlreference-dws/dws_06_0093.html