array_to_tsvector( text[]) → tsvector
将词素数组转换为tsvector。给定的字符串按原样使用,不做进一步处理。 array_to_tsvector('{fat,cat,rat}'::text[])→ 'cat' 'fat' 'rat'
|
get_current_ts_config( ) → regconfig
返回当前默认文本搜索配置的OID(由 default_text_search_config 所设定的). get_current_ts_config()→ english
|
length( tsvector) → integer
返回tsvector中的词位数。 length('fat:2,4 cat:3 rat:5A'::tsvector)→ 3
|
numnode( tsquery) → integer
返回tsquery中词位和操作符的数目。 numnode('(fat & rat) | cat'::tsquery)→ 5
|
plainto_tsquery( [ configregconfig, ] querytext) → tsquery
将文本转换为tsquery,根据指定的或默认配置对单词进行标准化。 字符串中的任何标点符号都会被忽略(它不决定查询操作符)。结果查询匹配文本中包含所有非停止词的文档。 plainto_tsquery('english', 'The Fat Rats')→ 'fat' & 'rat'
|
phraseto_tsquery( [ configregconfig, ] querytext) → tsquery
将文本转换为tsquery,根据指定的或默认配置对单词进行标准化。 字符串中的任何标点符号都会被忽略(它不决定查询操作符)。结果查询匹配包含文本中所有非停止词的短语。 phraseto_tsquery('english', 'The Fat Rats')→ 'fat' <-> 'rat'
phraseto_tsquery('english', 'The Cat and Rats')→ 'cat' <2> 'rat'
|
websearch_to_tsquery( [ configregconfig, ] querytext) → tsquery
将文本转换为tsquery,根据指定的或默认配置对单词进行标准化。引用的单词序列被转换为短语测试。 “or”一词被理解为产生OR操作符,而破折号产生NOT操作符;其他标点符号被忽略。这类似于一些常见的网络搜索工具的行为。 websearch_to_tsquery('english', '"fat rat" or cat dog')→ 'fat' <-> 'rat' | 'cat' & 'dog'
|
querytree( tsquery) → text
生成tsquery的可转位部分的表示。结果为空或仅为T表示不可索引查询。 querytree('foo & ! bar'::tsquery)→ 'foo'
|
setweight( vectortsvector, weight"char") → tsvector
将指定的weight赋给vector的每个元素。 setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A')→ 'cat':3A 'fat':2A,4A 'rat':5A
|
setweight( vectortsvector, weight"char", lexemestext[]) → tsvector
将指定的weight赋给列在lexemes中的vector元素。 setweight('fat:2,4 cat:3 rat:5,6B'::tsvector, 'A', '{cat,rat}')→ 'cat':3A 'fat':2,4 'rat':5A,6A
|
strip( tsvector) → tsvector
从tsvector中移除位置和权重。 strip('fat:2,4 cat:3 rat:5A'::tsvector)→ 'cat' 'fat' 'rat'
|
to_tsquery( [ configregconfig, ] querytext) → tsquery
将文本转换为tsquery,根据指定的或默认配置对单词进行标准化。单词必须由有效的tsquery操作符组合。 to_tsquery('english', 'The & Fat & Rats')→ 'fat' & 'rat'
|
to_tsvector( [ configregconfig, ] documenttext) → tsvector
将文本转换为tsvector,根据指定的或默认配置对单词进行标准化。结果中包含位置信息。 to_tsvector('english', 'The Fat Rats')→ 'fat':2 'rat':3
|
to_tsvector( [ configregconfig, ] documentjson) → tsvector
to_tsvector( [ configregconfig, ] documentjsonb) → tsvector
将JSON文档中的每个字符串值转换为tsvector,根据指定的或默认配置对单词进行标准化。 然后将结果按文档顺序连接起来以产生输出。位置信息就像在每对字符串值之间存在一个停止词一样生成。 (注意,当输入为jsonb时,JSON对象的字段的“document order”取决于实现;请观察这些例子中的差异。) to_tsvector('english', '{"aa": "The Fat Rats", "b": "dog"}'::json)→ 'dog':5 'fat':2 'rat':3
to_tsvector('english', '{"aa": "The Fat Rats", "b": "dog"}'::jsonb)→ 'dog':1 'fat':4 'rat':5
|
json_to_tsvector( [ configregconfig, ] documentjson, filterjsonb) → tsvector
jsonb_to_tsvector( [ configregconfig, ] documentjsonb, filterjsonb) → tsvector
选择filter请求的JSON文档中的每个项,并将每个项转换为tsvector,根据指定的或默认配置对单词进行标准化。 然后将结果按文档顺序连接起来以产生输出。位置信息就像在每对选定的项目之间存在一个停止词一样生成。 (注意,当输入为jsonb时,JSON对象字段的“document order”取决于实现。) filter必须是一个jsonb数组,其中包含0个或多个关键字: "string"(包括所有字符串值), "numeric"(包括所有数值), "boolean"(包括所有布尔值), "key"(包括所有键),或 "all"(包括以上所有关键字)。 作为一种特殊情况,该filter也可以是这些关键字之一的简单JSON值。 json_to_tsvector('english', '{"a": "The Fat Rats", "b": 123}'::json, '["string", "numeric"]')→ '123':5 'fat':2 'rat':3
json_to_tsvector('english', '{"cat": "The Fat Rats", "dog": 123}'::json, '"all"')→ '123':9 'cat':1 'dog':7 'fat':4 'rat':5
|
ts_delete( vectortsvector, lexemetext) → tsvector
从vector中删除任何出现的给定lexeme。 ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, 'fat')→ 'cat':3 'rat':5A
|
ts_delete( vectortsvector, lexemestext[]) → tsvector
从vector中删除lexemes中出现的任何词位。 ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, ARRAY['fat','rat'])→ 'cat':3
|
ts_filter( vectortsvector, weights"char"[]) → tsvector
只从vector中选择具有给定weights的元素。 ts_filter('fat:2,4 cat:3b,7c rat:5A'::tsvector, '{a,b}')→ 'cat':3B 'rat':5A
|
ts_headline( [ configregconfig, ] documenttext, querytsquery[, optionstext] ) → text
以缩写形式显示document中query的匹配项,该匹配项必须是原始文本,而不是tsvector。 在匹配查询之前,文档中的单词将根据指定的或默认的配置进行规范化。 第 12.3.4 节中讨论了该函数的使用,还描述了可用的options。 ts_headline('The fat cat ate the rat.', 'cat')→ The fat <b>cat</b> ate the rat.
|
ts_headline( [ configregconfig, ] documentjson, querytsquery[, optionstext] ) → text
ts_headline( [ configregconfig, ] documentjsonb, querytsquery[, optionstext] ) → text
以缩写形式显示匹配JSONdocument中字符串值中的query。 更多细节请参阅 第 12.3.4 节。 ts_headline('{"cat":"raining cats and dogs"}'::jsonb, 'cat')→ {"cat": "raining <b>cats</b> and dogs"}
|
ts_rank( [ weightsreal[], ] vectortsvector, querytsquery[, normalizationinteger] ) → real
计算一个分数,显示vector与query的匹配程度。详情请参见第 12.3.3 节。 ts_rank(to_tsvector('raining cats and dogs'), 'cat')→ 0.06079271
|
ts_rank_cd( [ weightsreal[], ] vectortsvector, querytsquery[, normalizationinteger] ) → real
使用覆盖密度算法计算一个分数,显示vector与query的匹配程度。 详情参见第 12.3.3 节。 ts_rank_cd(to_tsvector('raining cats and dogs'), 'cat')→ 0.1
|
ts_rewrite( querytsquery, targettsquery, substitutetsquery) → tsquery
在query中使用 substitute替换出现的target。 详情参见 第 12.4.2.1 节 。 ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery)→ 'b' & ( 'foo' | 'bar' )
|
ts_rewrite( querytsquery, selecttext) → tsquery
根据目标替换部分query,并替换通过执行SELECT命令获得的查询。 详情参见第 12.4.2.1 节。 SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM aliases')→ 'b' & ( 'foo' | 'bar' )
|
tsquery_phrase( query1tsquery, query2tsquery) → tsquery
构造一个短语查询,在连续的词位上搜索query1和query2的匹配项(与<->操作符相同)。 tsquery_phrase(to_tsquery('fat'), to_tsquery('cat'))→ 'fat' <-> 'cat'
|
tsquery_phrase( query1tsquery, query2tsquery, distanceinteger) → tsquery
构造一个短语查询,用于搜索query1和query2的匹配项,这些匹配项恰好出现在distance词位之间。 tsquery_phrase(to_tsquery('fat'), to_tsquery('cat'), 10)→ 'fat' <10> 'cat'
|
tsvector_to_array( tsvector) → text[]
将tsvector转换为词位的数组。 tsvector_to_array('fat:2,4 cat:3 rat:5A'::tsvector)→ {cat,fat,rat}
|
unnest( tsvector) → setof record( lexemetext, positionssmallint[], weightstext)
将tsvector展开为一组行,每个行对应一个词位。 select * from unnest('cat:3 fat:2,4 rat:5A'::tsvector)→
lexeme | positions | weights --------+-----------+--------- cat | {3} | {D} fat | {2,4} | {D,D} rat | {5} | {A} |