array_to_tsvector (text[] ) →tsvector
Converts an array of text strings to atsvector . The given strings are used as lexemes as-is, without further processing. Array elements must not be empty strings orNULL . array_to_tsvector('{fat,cat,rat}'::text[]) →'cat' 'fat' 'rat'
|
get_current_ts_config ( ) →regconfig
Returns the OID of the current default text search configuration (as set bydefault_text_search_config). get_current_ts_config() →english
|
length (tsvector ) →integer
Returns the number of lexemes in thetsvector . length('fat:2,4 cat:3 rat:5A'::tsvector) →3
|
numnode (tsquery ) →integer
Returns the number of lexemes plus operators in thetsquery . numnode('(fat & rat) | cat'::tsquery) →5
|
plainto_tsquery ( [config regconfig ,]query text ) →tsquery
Converts text to atsquery , normalizing words according to the specified or default configuration. Any punctuation in the string is ignored (it does not determine query operators). The resulting query matches documents containing all non-stopwords in the text. plainto_tsquery('english', 'The Fat Rats') →'fat' & 'rat'
|
phraseto_tsquery ( [config regconfig ,]query text ) →tsquery
Converts text to atsquery , normalizing words according to the specified or default configuration. Any punctuation in the string is ignored (it does not determine query operators). The resulting query matches phrases containing all non-stopwords in the text. phraseto_tsquery('english', 'The Fat Rats') →'fat' <-> 'rat'
phraseto_tsquery('english', 'The Cat and Rats') →'cat' <2> 'rat'
|
websearch_to_tsquery ( [config regconfig ,]query text ) →tsquery
Converts text to atsquery , normalizing words according to the specified or default configuration. Quoted word sequences are converted to phrase tests. The word“or” is understood as producing an OR operator, and a dash produces a NOT operator; other punctuation is ignored. This approximates the behavior of some common web search tools. websearch_to_tsquery('english', '"fat rat" or cat dog') →'fat' <-> 'rat' | 'cat' & 'dog'
|
querytree (tsquery ) →text
Produces a representation of the indexable portion of atsquery . A result that is empty or justT indicates a non-indexable query. querytree('foo & ! bar'::tsquery) →'foo'
|
setweight (vector tsvector ,weight "char" ) →tsvector
Assigns the specifiedweight to each element of thevector . setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A') →'cat':3A 'fat':2A,4A 'rat':5A
|
setweight (vector tsvector ,weight "char" ,lexemes text[] ) →tsvector
Assigns the specifiedweight to elements of thevector that are listed inlexemes . The strings inlexemes are taken as lexemes as-is, without further processing. Strings that do not match any lexeme invector are ignored. setweight('fat:2,4 cat:3 rat:5,6B'::tsvector, 'A', '{cat,rat}') →'cat':3A 'fat':2,4 'rat':5A,6A
|
strip (tsvector ) →tsvector
Removes positions and weights from thetsvector . strip('fat:2,4 cat:3 rat:5A'::tsvector) →'cat' 'fat' 'rat'
|
to_tsquery ( [config regconfig ,]query text ) →tsquery
Converts text to atsquery , normalizing words according to the specified or default configuration. The words must be combined by validtsquery operators. to_tsquery('english', 'The & Fat & Rats') →'fat' & 'rat'
|
to_tsvector ( [config regconfig ,]document text ) →tsvector
Converts text to atsvector , normalizing words according to the specified or default configuration. Position information is included in the result. to_tsvector('english', 'The Fat Rats') →'fat':2 'rat':3
|
to_tsvector ( [config regconfig ,]document json ) →tsvector
to_tsvector ( [config regconfig ,]document jsonb ) →tsvector
Converts each string value in the JSON document to atsvector , normalizing words according to the specified or default configuration. The results are then concatenated in document order to produce the output. Position information is generated as though one stopword exists between each pair of string values. (Beware that“document order” of the fields of a JSON object is implementation-dependent when the input isjsonb ; observe the difference in the examples.) 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 ( [config regconfig ,]document json ,filter jsonb ) →tsvector
jsonb_to_tsvector ( [config regconfig ,]document jsonb ,filter jsonb ) →tsvector
Selects each item in the JSON document that is requested by thefilter and converts each one to atsvector , normalizing words according to the specified or default configuration. The results are then concatenated in document order to produce the output. Position information is generated as though one stopword exists between each pair of selected items. (Beware that“document order” of the fields of a JSON object is implementation-dependent when the input isjsonb .) Thefilter must be ajsonb array containing zero or more of these keywords:"string" (to include all string values),"numeric" (to include all numeric values),"boolean" (to include all boolean values),"key" (to include all keys), or"all" (to include all the above). As a special case, thefilter can also be a simple JSON value that is one of these keywords. 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 (vector tsvector ,lexeme text ) →tsvector
Removes any occurrence of the givenlexeme from thevector . Thelexeme string is treated as a lexeme as-is, without further processing. ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, 'fat') →'cat':3 'rat':5A
|
ts_delete (vector tsvector ,lexemes text[] ) →tsvector
Removes any occurrences of the lexemes inlexemes from thevector . The strings inlexemes are taken as lexemes as-is, without further processing. Strings that do not match any lexeme invector are ignored. ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, ARRAY['fat','rat']) →'cat':3
|
ts_filter (vector tsvector ,weights "char"[] ) →tsvector
Selects only elements with the givenweights from thevector . ts_filter('fat:2,4 cat:3b,7c rat:5A'::tsvector, '{a,b}') →'cat':3B 'rat':5A
|
ts_headline ( [config regconfig ,]document text ,query tsquery [,options text ] ) →text
Displays, in an abbreviated form, the match(es) for thequery in thedocument , which must be raw text not atsvector . Words in the document are normalized according to the specified or default configuration before matching to the query. Use of this function is discussed inSection 12.3.4, which also describes the availableoptions . ts_headline('The fat cat ate the rat.', 'cat') →The fat <b>cat</b> ate the rat.
|
ts_headline ( [config regconfig ,]document json ,query tsquery [,options text ] ) →text
ts_headline ( [config regconfig ,]document jsonb ,query tsquery [,options text ] ) →text
Displays, in an abbreviated form, match(es) for thequery that occur in string values within the JSONdocument . SeeSection 12.3.4 for more details. ts_headline('{"cat":"raining cats and dogs"}'::jsonb, 'cat') →{"cat": "raining <b>cats</b> and dogs"}
|
ts_rank ( [weights real[] ,]vector tsvector ,query tsquery [,normalization integer ] ) →real
Computes a score showing how well thevector matches thequery . SeeSection 12.3.3 for details. ts_rank(to_tsvector('raining cats and dogs'), 'cat') →0.06079271
|
ts_rank_cd ( [weights real[] ,]vector tsvector ,query tsquery [,normalization integer ] ) →real
Computes a score showing how well thevector matches thequery , using a cover density algorithm. SeeSection 12.3.3 for details. ts_rank_cd(to_tsvector('raining cats and dogs'), 'cat') →0.1
|
ts_rewrite (query tsquery ,target tsquery ,substitute tsquery ) →tsquery
Replaces occurrences oftarget withsubstitute within thequery . SeeSection 12.4.2.1 for details. ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery) →'b' & ( 'foo' | 'bar' )
|
ts_rewrite (query tsquery ,select text ) →tsquery
Replaces portions of thequery according to target(s) and substitute(s) obtained by executing aSELECT command. SeeSection 12.4.2.1 for details. SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM aliases') →'b' & ( 'foo' | 'bar' )
|
tsquery_phrase (query1 tsquery ,query2 tsquery ) →tsquery
Constructs a phrase query that searches for matches ofquery1 andquery2 at successive lexemes (same as<-> operator). tsquery_phrase(to_tsquery('fat'), to_tsquery('cat')) →'fat' <-> 'cat'
|
tsquery_phrase (query1 tsquery ,query2 tsquery ,distance integer ) →tsquery
Constructs a phrase query that searches for matches ofquery1 andquery2 that occur exactlydistance lexemes apart. tsquery_phrase(to_tsquery('fat'), to_tsquery('cat'), 10) →'fat' <10> 'cat'
|
tsvector_to_array (tsvector ) →text[]
Converts atsvector to an array of lexemes. tsvector_to_array('fat:2,4 cat:3 rat:5A'::tsvector) →{cat,fat,rat}
|
unnest (tsvector ) →setof record (lexeme text ,positions smallint[] ,weights text )
Expands atsvector into a set of rows, one per lexeme. 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} |