|  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( [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, элементам аргумента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( [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 зависит от реализации; это наглядно показано в примере.) 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 Выбирает из 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(vectortsvector,lexemetext) →tsvector Удаляет все вхождения лексемы, задаваемой аргументом lexeme, из значенияvector. Строкаlexemeпринимается в виде лексемы как есть, без дальнейшей обработки. ts_delete('fat:2,4 cat:3 rat:5A'::tsvector, 'fat')→'cat':3 'rat':5A
 | 
| ts_delete(vectortsvector,lexemestext[]) →tsvector
 Удаляет все вхождения лексем, переданных в параметре lexemes, из параметраvector. Строки вlexemesпринимаются в виде лексем как есть, без дальнейшей обработки. Строки, которые не соответствуют никаким лексемам вvector, игнорируются. 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 Выводит в виде выдержек соответствующие поисковому запросу 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( [configregconfig, ]documentjson,querytsquery[,optionstext] ) →text
 ts_headline( [configregconfig, ]documentjsonb,querytsquery[,optionstext] ) →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( [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вхожденияtargetзначениемsubstitute. За подробностями обратитесь к Подразделу 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} |