| array_to_tsvector(text[]) | tsvector | convert array of lexemes to tsvector | array_to_tsvector('{fat,cat,rat}'::text[]) | 'cat' 'fat' 'rat' | 
| get_current_ts_config() | regconfig | get default text search configuration | get_current_ts_config() | english | 
| length(tsvector) | integer | number of lexemes in tsvector | length('fat:2,4 cat:3 rat:5A'::tsvector) | 3 | 
| numnode(tsquery) | integer | number of lexemes plus operators in tsquery |  numnode('(fat & rat) | cat'::tsquery) | 5 | 
| plainto_tsquery([ configregconfig, ]querytext) | tsquery | produce tsqueryignoring punctuation | plainto_tsquery('english', 'The Fat Rats') | 'fat' & 'rat' | 
| phraseto_tsquery([ configregconfig, ]querytext) | tsquery | produce tsquerythat searches for a phrase, ignoring punctuation | phraseto_tsquery('english', 'The Fat Rats') | 'fat' <-> 'rat' | 
| websearch_to_tsquery([ configregconfig, ]querytext) | tsquery | produce tsqueryfrom a web search style query | websearch_to_tsquery('english', '"fat rat" or rat') | 'fat' <-> 'rat' | 'rat' | 
| querytree(querytsquery) | text | get indexable part of a tsquery | querytree('foo & ! bar'::tsquery) | 'foo' | 
| setweight(vectortsvector,weight"char") | tsvector | assign weightto each element ofvector | setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A') | 'cat':3A 'fat':2A,4A 'rat':5A | 
| setweight(vectortsvector,weight"char",lexemestext[]) | tsvector | assign weightto elements ofvectorthat are listed inlexemes | setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A', '{cat,rat}') | 'cat':3A 'fat':2,4 'rat':5A | 
| strip(tsvector) | tsvector | remove positions and weights from tsvector | strip('fat:2,4 cat:3 rat:5A'::tsvector) | 'cat' 'fat' 'rat' | 
| to_tsquery([ configregconfig, ]querytext) | tsquery | normalize words and convert to tsquery | to_tsquery('english', 'The & Fat & Rats') | 'fat' & 'rat' | 
| to_tsvector([ configregconfig, ]documenttext) | tsvector | reduce document text to tsvector | to_tsvector('english', 'The Fat Rats') | 'fat':2 'rat':3 | 
| to_tsvector([ configregconfig, ]documentjson(b)) | tsvector | reduce each string value in the document to a tsvector, and then concatenate those in document order to produce a singletsvector | to_tsvector('english', '{"a": "The Fat Rats"}'::json) | 'fat':2 'rat':3 | 
| json(b)_to_tsvector([ configregconfig, ]documentjson(b),filterjson(b)) | tsvector | reduce each value in the document, specified by filterto atsvector, and then concatenate those in document order to produce a singletsvector.filteris ajsonbarray, that enumerates what kind of elements need to be included into the resultingtsvector. Possible values forfilterare"string"(to include all string values),"numeric"(to include all numeric values in the string format),"boolean"(to include all Boolean values in the string format"true"/"false"),"key"(to include all keys) or"all"(to include all above). These values can be combined together to include, e.g. all string and numeric values. | json_to_tsvector('english', '{"a": "The Fat Rats", "b": 123}'::json, '["string", "numeric"]') | '123':5 'fat':2 'rat':3 | 
| ts_delete(vectortsvector,lexemetext) | tsvector | remove given lexemefromvector | ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, 'fat') | 'cat':3 'rat':5A | 
| ts_delete(vectortsvector,lexemestext[]) | tsvector | remove any occurrence of lexemes in lexemesfromvector | ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, ARRAY['fat','rat']) | 'cat':3 | 
| ts_filter(vectortsvector,weights"char"[]) | tsvector | select only elements with given weightsfromvector | ts_filter('fat:2,4 cat:3b rat:5A'::tsvector, '{a,b}') | 'cat':3B 'rat':5A | 
| ts_headline([ configregconfig, ]documenttext,querytsquery[,optionstext]) | text | display a query match | ts_headline('x y z', 'z'::tsquery) | x y <b>z</b> | 
| ts_headline([ configregconfig, ]documentjson(b),querytsquery[,optionstext]) | text | display a query match | ts_headline('{"a":"x y z"}'::json, 'z'::tsquery) | {"a":"x y <b>z</b>"} | 
| ts_rank([ weightsfloat4[], ]vectortsvector,querytsquery[,normalizationinteger]) | float4 | rank document for query | ts_rank(textsearch, query) | 0.818 | 
| ts_rank_cd([ weightsfloat4[], ]vectortsvector,querytsquery[,normalizationinteger]) | float4 | rank document for query using cover density | ts_rank_cd('{0.1, 0.2, 0.4, 1.0}', textsearch, query) | 2.01317 | 
| ts_rewrite(querytsquery,targettsquery,substitutetsquery) | tsquery | replace targetwithsubstitutewithin query | ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery) | 'b' & ( 'foo' | 'bar' ) | 
| ts_rewrite(querytsquery,selecttext) | tsquery | replace using targets and substitutes from a SELECTcommand | SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM aliases') | 'b' & ( 'foo' | 'bar' ) | 
| tsquery_phrase(query1tsquery,query2tsquery) | tsquery | make query that searches for query1followed byquery2(same as<->operator) | tsquery_phrase(to_tsquery('fat'), to_tsquery('cat')) | 'fat' <-> 'cat' | 
| tsquery_phrase(query1tsquery,query2tsquery,distanceinteger) | tsquery | make query that searches for query1followed byquery2at distancedistance | tsquery_phrase(to_tsquery('fat'), to_tsquery('cat'), 10) | 'fat' <10> 'cat' | 
| tsvector_to_array(tsvector) | text[] | convert tsvectorto array of lexemes | tsvector_to_array('fat:2,4 cat:3 rat:5A'::tsvector) | {cat,fat,rat} | 
| tsvector_update_trigger() | trigger | trigger function for automatic tsvectorcolumn update | CREATE TRIGGER ... tsvector_update_trigger(tsvcol, 'pg_catalog.swedish', title, body) |  | 
| tsvector_update_trigger_column() | trigger | trigger function for automatic tsvectorcolumn update | CREATE TRIGGER ... tsvector_update_trigger_column(tsvcol, configcol, title, body) |  | 
| unnest(tsvector, OUTlexemetext, OUTpositionssmallint[], OUTweightstext) | setof record | expand a tsvectorto a set of rows | unnest('fat:2,4 cat:3 rat:5A'::tsvector) | (cat,{3},{D}) ... |