9.13. Функции и операторы текстового поиска
В Таблице 9.37, Таблице 9.38 и Таблице 9.39 собраны все существующие функции и операторы, предназначенные для полнотекстового поиска. Во всех деталях возможности полнотекстового поиска в Postgres Pro описаны в Главе 12.
Таблица 9.37. Операторы текстового поиска
| Оператор | Описание | Пример | Результат | 
|---|---|---|---|
| @@ | tsvectorсоответствуетtsquery? | to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') | t | 
| @@@ | устаревший синоним для @@ | to_tsvector('fat cats ate rats') @@@ to_tsquery('cat & rat') | t | 
| || | объединяет два значения tsvector | 'a:1 b:2'::tsvector || 'c:1 d:2 b:3'::tsvector | 'a':1 'b':2,5 'c':3 'd':4 | 
| && | логическое И (AND) двух запросов tsquery | 'fat | rat'::tsquery && 'cat'::tsquery | ( 'fat' | 'rat' ) & 'cat' | 
| || | логическое ИЛИ (OR) двух запросов tsquery | 'fat | rat'::tsquery || 'cat'::tsquery | ( 'fat' | 'rat' ) | 'cat' | 
| !! | отрицание запроса tsquery | !! 'cat'::tsquery | !'cat' | 
| <-> | tsqueryпредшествуетtsquery | to_tsquery('fat') <-> to_tsquery('rat') | 'fat' <-> 'rat' | 
| @> | запрос tsqueryвключает другой? | 'cat'::tsquery @> 'cat & rat'::tsquery | f | 
| <@ | запрос tsqueryвключён в другой? | 'cat'::tsquery <@ 'cat & rat'::tsquery | t | 
Примечание
Операторы включения tsquery рассматривают только лексемы двух запросов, игнорируя операторы их сочетания.
В дополнение к операторам, перечисленным в этой таблице, для типов tsvector и tsquery определены обычные операторы сравнения для B-дерева (=, < и т. д.). Они не очень полезны для поиска, но позволяют, в частности, создавать индексы для столбцов этих типов.
Таблица 9.38. Функции текстового поиска
Примечание
Все функции текстового поиска, принимающие необязательный аргумент regconfig, будут использовать конфигурацию, указанную в параметре default_text_search_config, когда этот аргумент опущен.
Функции в Таблице 9.39 перечислены отдельно, так как они не очень полезны в традиционных операциях поиска. Они предназначены в основном для разработки и отладки новых конфигураций текстового поиска.
Таблица 9.39. Функции отладки текстового поиска