array_to_tsvector ( text[] ) â tsvector ÐÑеобÑазÑÐµÑ Ð¼Ð°ÑÑив ÑекÑÑовÑÑ
ÑÑÑок в tsvector. ÐеÑеданнÑе ÑÑÑоки иÑполÑзÑÑÑÑÑ Ð² виде лекÑем как еÑÑÑ, без дополниÑелÑной обÑабоÑки. ÐлеменÑÑ Ð¼Ð°ÑÑива не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑÑÑÑми ÑÑÑоками или NULL. 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 ( [config regconfig, ] query text ) â tsquery ÐÑеобÑазÑÐµÑ ÑекÑÑ Ð² tsquery, вÑполнÑÑ Ð½Ð¾ÑмализаÑÐ¸Ñ Ñлов ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. Ðнаки пÑнкÑÑаÑии во вÑ
одной ÑÑÑоке пÑи ÑÑом игноÑиÑÑÑÑÑÑ (в данном ÑлÑÑае она не опÑеделÑÐµÑ Ð¾Ð¿ÐµÑаÑоÑÑ Ð·Ð°Ð¿ÑоÑа). РезÑлÑÑиÑÑÑÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑоÑÑ Ð±ÑдÑÑ ÑооÑвеÑÑÑвоваÑÑ Ð´Ð¾ÐºÑменÑÑ, ÑодеÑжаÑие вÑе Ñлова ÑÑого ÑекÑÑа, кÑоме ÑÑоп-Ñлов. plainto_tsquery('english', 'The Fat Rats') â 'fat' & 'rat'
|
phraseto_tsquery ( [config regconfig, ] query text ) â tsquery ÐÑеобÑазÑÐµÑ ÑекÑÑ Ð² tsquery, вÑполнÑÑ Ð½Ð¾ÑмализаÑÐ¸Ñ Ñлов ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. Ðнаки пÑнкÑÑаÑии во вÑ
одной ÑÑÑоке пÑи ÑÑом игноÑиÑÑÑÑÑÑ (в данном ÑлÑÑае она не опÑеделÑÐµÑ Ð¾Ð¿ÐµÑаÑоÑÑ Ð·Ð°Ð¿ÑоÑа). РезÑлÑÑиÑÑÑÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑоÑÑ Ð±ÑдÑÑ ÑооÑвеÑÑÑвоваÑÑ ÑÑазÑ, ÑодеÑжаÑие поÑледоваÑелÑноÑÑÑ Ñлов ÑÑого ÑекÑÑа, кÑоме ÑÑоп-Ñлов. 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 ÐÑеобÑазÑÐµÑ ÑекÑÑ Ð² 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 ( vector tsvector, weight "char" ) â tsvector ÐазнаÑÐ°ÐµÑ Ð²ÐµÑ, ÑказаннÑй в аÑгÑменÑе weight, ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑлеменÑÑ Ð°ÑгÑменÑа vector. 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 ÐазнаÑÐ°ÐµÑ Ð²ÐµÑ, ÑказаннÑй в аÑгÑменÑе weight, ÑлеменÑам аÑгÑменÑа vector, пеÑеÑиÑленнÑм в аÑгÑменÑе lexemes. СÑÑоки в 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 ( [config regconfig, ] query text ) â tsquery ÐÑеобÑазÑÐµÑ ÑекÑÑ Ð² tsquery, вÑполнÑÑ Ð½Ð¾ÑмализаÑÐ¸Ñ Ñлов ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. Слова Ð´Ð¾Ð»Ð¶Ð½Ñ ÑазделÑÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑами tsquery. to_tsquery('english', 'The & Fat & Rats') â 'fat' & 'rat'
|
to_tsvector ( [config regconfig, ] document text ) â tsvector ÐÑеобÑазÑÐµÑ ÑекÑÑ Ð² tsvector, вÑполнÑÑ Ð½Ð¾ÑмализаÑÐ¸Ñ Ñлов ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. РезÑлÑÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²ÐºÐ»ÑÑаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ позиÑиÑÑ
Ñлов. to_tsvector('english', 'The Fat Rats') â 'fat':2 'rat':3
|
to_tsvector ( [config regconfig, ] document json ) â tsvector
to_tsvector ( [config regconfig, ] document jsonb ) â tsvector
ÐÑеобÑазÑÐµÑ ÐºÐ°Ð¶Ð´Ð¾Ðµ ÑÑÑоковое знаÑение в докÑменÑе JSON в знаÑение tsvector, вÑполнÑÑ Ð½Ð¾ÑмализаÑÐ¸Ñ Ñлов ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. Ð ÑезÑлÑÑаÑе вÑдаÑÑÑÑ Ð¿Ð¾Ð»ÑÑеннÑе знаÑениÑ, ÑоединÑннÑе вмеÑÑе в поÑÑдке ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе. ÐÑи вÑÑиÑлении вÑдаваемÑÑ
позиÑий Ñлов ÑÑиÑаеÑÑÑ, ÑÑо Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ паÑой ÑÑÑоковÑÑ
знаÑений наÑ
одиÑÑÑ Ð¾Ð´Ð½Ð¾ ÑÑоп-Ñлово. (УÑÑиÑе, ÑÑо в ÑлÑÑае Ñ jsonb «поÑÑдок ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе» полей обÑекÑа JSON завиÑÐ¸Ñ Ð¾Ñ ÑеализаÑии; ÑÑо наглÑдно показано в пÑимеÑе.) 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 ÐÑбиÑÐ°ÐµÑ Ð¸Ð· JSON-докÑменÑа вÑе ÑлеменÑÑ, ÑооÑвеÑÑÑвÑÑÑие ÑилÑÑÑÑ filter, и пÑеобÑазÑÐµÑ ÐºÐ°Ð¶Ð´Ñй в знаÑение tsvector, ноÑмализÑÑ Ð¸Ñ
ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. Ð ÑезÑлÑÑаÑе вÑдаÑÑÑÑ Ð¿Ð¾Ð»ÑÑеннÑе знаÑениÑ, ÑоединÑннÑе вмеÑÑе в поÑÑдке ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе. ÐÑи вÑÑиÑлении вÑдаваемÑÑ
позиÑий Ñлов ÑÑиÑаеÑÑÑ, ÑÑо Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ паÑой ÑÑÑоковÑÑ
знаÑений наÑ
одиÑÑÑ Ð¾Ð´Ð½Ð¾ ÑÑоп-Ñлово. (УÑÑиÑе, ÑÑо в ÑлÑÑае Ñ jsonb «поÑÑдок ÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² докÑменÑе» полей обÑекÑа JSON завиÑÐ¸Ñ Ð¾Ñ ÑеализаÑии.) РпаÑамеÑÑе filter должен пеÑедаваÑÑÑÑ Ð¼Ð°ÑÑив jsonb, ÑодеÑжаÑий Ð½Ð¾Ð»Ñ Ð¸Ð»Ð¸ более ÑледÑÑÑиÑ
клÑÑевÑÑ
Ñлов: "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 ( vector tsvector, lexeme text ) â tsvector УдалÑÐµÑ Ð²Ñе вÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð»ÐµÐºÑемÑ, задаваемой аÑгÑменÑом lexeme, из знаÑÐµÐ½Ð¸Ñ vector. СÑÑока lexeme пÑинимаеÑÑÑ Ð² виде лекÑÐµÐ¼Ñ ÐºÐ°Ðº еÑÑÑ, без далÑнейÑей обÑабоÑки. ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, 'fat') â 'cat':3 'rat':5A
|
ts_delete ( vector tsvector, lexemes text[] ) â tsvector
УдалÑÐµÑ Ð²Ñе вÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð»ÐµÐºÑем, пеÑеданнÑÑ
в паÑамеÑÑе lexemes, из паÑамеÑÑа vector. СÑÑоки в lexemes пÑинимаÑÑÑÑ Ð² виде лекÑем как еÑÑÑ, без далÑнейÑей обÑабоÑки. СÑÑоки, коÑоÑÑе не ÑооÑвеÑÑÑвÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ð¼ лекÑемам в vector, игноÑиÑÑÑÑÑÑ. ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, ARRAY['fat','rat']) â 'cat':3
|
ts_filter ( vector tsvector, weights "char"[] ) â tsvector ÐÑбиÑÐ°ÐµÑ Ð¸Ð· знаÑÐµÐ½Ð¸Ñ vector ÑолÑко ÑлеменÑÑ Ñ Ð²ÐµÑами, пеÑеÑиÑленнÑми в маÑÑиве weights. 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 ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð² виде вÑдеÑжек ÑооÑвеÑÑÑвÑÑÑие поиÑÐºÐ¾Ð²Ð¾Ð¼Ñ Ð·Ð°Ð¿ÑоÑÑ query ÑÑагменÑÑ ÑодеÑжимого document, коÑоÑое должно бÑÑÑ Ð¿ÑоÑÑо ÑекÑÑом, а не знаÑением tsvector. Слова в докÑменÑе пеÑед поиÑком ноÑмализÑÑÑÑÑ ÑоглаÑно конÑигÑÑаÑии по ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ñказанной Ñвно. ÐÑполÑзование ÑÑой ÑÑнкÑии ÑаÑÑмаÑÑиваеÑÑÑ Ð² ÐодÑазделе 12.3.4; Ñакже Ñам опиÑÑваÑÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñе знаÑÐµÐ½Ð¸Ñ options. 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
ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð² виде вÑдеÑжек ÑооÑвеÑÑÑвÑÑÑие поиÑÐºÐ¾Ð²Ð¾Ð¼Ñ Ð·Ð°Ð¿ÑоÑÑ query вÑ
ождениÑ, найденнÑе в ÑÑÑоковÑÑ
знаÑениÑÑ
внÑÑÑи JSON-докÑменÑа document. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 12.3.4. 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 ÐÑÑиÑлÑÐµÑ Ð¾ÑенкÑ, показÑваÑÑÑÑ, в какой ÑÑепени знаÑение vector ÑооÑвеÑÑÑвÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ query. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 12.3.3. ts_rank(to_tsvector('raining cats and dogs'), 'cat') â 0.06079271
|
ts_rank_cd ( [weights real[], ] vector tsvector, query tsquery [, normalization integer] ) â real ÐÑÑиÑлÑÐµÑ Ð¿Ð¾ алгоÑиÑÐ¼Ñ ÑаÑÑÑÑа плоÑноÑÑи покÑÑÑÐ¸Ñ Ð¾ÑенкÑ, показÑваÑÑÑÑ, в какой ÑÑепени знаÑение vector ÑооÑвеÑÑÑвÑÐµÑ Ð·Ð°Ð¿ÑоÑÑ query Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 12.3.3. ts_rank_cd(to_tsvector('raining cats and dogs'), 'cat') â 0.1
|
ts_rewrite ( query tsquery, target tsquery, substitute tsquery ) â tsquery ÐаменÑÐµÑ Ð² аÑгÑменÑе query вÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ target знаÑением substitute. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 12.4.2.1. ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery) â 'b' & ( 'foo' | 'bar' )
|
ts_rewrite ( query tsquery, select text ) â tsquery
ÐаменÑÐµÑ ÑÑагменÑÑ Ð·Ð°Ð¿ÑоÑа query, Ð¸Ð·Ð²Ð»ÐµÐºÐ°Ñ Ð¸Ñкомое вÑ
ождение и Ð·Ð°Ð¼ÐµÐ½Ñ Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SELECT. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 12.4.2.1. SELECT ts_rewrite('a & b'::tsquery, 'SELECT t,s FROM aliases') â 'b' & ( 'foo' | 'bar' )
|
tsquery_phrase ( query1 tsquery, query2 tsquery ) â tsquery ÐонÑÑÑÑиÑÑÐµÑ ÑÑазовÑй запÑоÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð½Ð°Ñ
одиÑÑ Ð¿Ð¾Ð´ÑÑд идÑÑие лекÑемÑ, ÑдовлеÑвоÑÑÑÑие запÑоÑам query1 и query2 (как Ð´ÐµÐ»Ð°ÐµÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ <->). tsquery_phrase(to_tsquery('fat'), to_tsquery('cat')) â 'fat' <-> 'cat'
|
tsquery_phrase ( query1 tsquery, query2 tsquery, distance integer ) â 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 ( lexeme text, positions smallint[], weights text ) РазвоÑаÑÐ¸Ð²Ð°ÐµÑ 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} |