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. Функции отладки текстового поиска