9.13. Функции и операторы текстового поиска
В Таблице 9.42, Таблице 9.43 и Таблице 9.44 собраны все существующие функции и операторы, предназначенные для полнотекстового поиска. Во всех деталях возможности полнотекстового поиска в Postgres Pro описаны в Главе 12.
Таблица 9.42. Операторы текстового поиска
Оператор Описание Пример(ы) |
|---|
Аргумент
|
Переданная текстовая строка, неявно преобразованная функцией
|
Это устаревший синоним для
|
Соединяет два значения
|
Вычисляет конъюнкцию двух значений
|
Вычисляет дизъюнкцию двух значений
|
Вычисляет отрицание
|
Конструирует фразовый запрос, которому будут соответствовать документы, содержащие подряд идущие лексемы, удовлетворяющие двум входным запросам.
|
Первый запрос типа
|
Первый запрос типа
|
Помимо этих специализированных операторов, для типов tsvector и tsquery имеются обычные операторы сравнения, показанные в Таблице 9.1. Они не очень полезны для поиска, но позволяют, в частности, создавать индексы по столбцам этих типов.
Таблица 9.43. Функции текстового поиска
Функция Описание Пример(ы) |
|---|
Преобразует массив текстовых строк в
|
Возвращает OID текущей конфигурации текстового поиска по умолчанию (задаваемой параметром default_text_search_config).
|
Возвращает число лексем в значении
|
Возвращает число лексем и операторов в запросе
|
Преобразует текст в
|
Преобразует текст в
|
Преобразует текст в
|
Формирует представление индексируемой части
|
Назначает вес, указанный в аргументе
|
Назначает вес, указанный в аргументе
|
Убирает позиции и веса из значения
|
Преобразует текст в
|
Преобразует текст в
|
Преобразует каждое строковое значение в документе JSON в значение
|
Выбирает из JSON-документа все элементы, соответствующие фильтру
|
Удаляет все вхождения лексемы, задаваемой аргументом
|
Удаляет все вхождения лексем, переданных в параметре
|
Выбирает из значения
|
Выводит в виде выдержек соответствующие поисковому запросу
|
Выводит в виде выдержек соответствующие поисковому запросу
|
Вычисляет оценку, показывающую, в какой степени значение
|
Вычисляет по алгоритму расчёта плотности покрытия оценку, показывающую, в какой степени значение
|
Заменяет в аргументе
|
Заменяет фрагменты запроса
|
Конструирует фразовый запрос, который будет находить подряд идущие лексемы, удовлетворяющие запросам
|
Конструирует фразовый запрос, который будет находить вхождения, удовлетворяющие запросам
|
Преобразует
|
Разворачивает
lexeme | positions | weights
--------+-----------+---------
cat | {3} | {D}
fat | {2,4} | {D,D}
rat | {5} | {A} |
Примечание
Все функции текстового поиска, принимающие необязательный аргумент regconfig, будут использовать конфигурацию, указанную в параметре default_text_search_config, когда этот аргумент опущен.
Функции в Таблице 9.44 перечислены отдельно, так как они не очень полезны в традиционных операциях поиска. Они предназначены в основном для разработки и отладки новых конфигураций текстового поиска.
Таблица 9.44. Функции отладки текстового поиска
Функция Описание Пример(ы) |
|---|
Извлекает из текста
|
Возвращает массив заменяющих лексем, если слово, заданное аргументом
|
Извлекает фрагменты из текста
|
Извлекает фрагменты из текста
|
Возвращает таблицу, описывающую все типы фрагментов, которые может распознать анализатор с указанным именем. За подробностями обратитесь к Подразделу 12.8.2.
|
Возвращает таблицу, описывающую все типы фрагментов, которые может распознать анализатор с указанным OID. За подробностями обратитесь к Подразделу 12.8.2.
|
Выполняет запрос
|
9.13. Text Search Functions and Operators
Table 9.42, Table 9.43 and Table 9.44 summarize the functions and operators that are provided for full text searching. See Chapter 12 for a detailed explanation of Postgres Pro's text search facility.
Table 9.42. Text Search Operators
Operator Description Example(s) |
|---|
Does
|
Does text string, after implicit invocation of
|
This is a deprecated synonym for
|
Concatenates two
|
ANDs two
|
ORs two
|
Negates a
|
Constructs a phrase query, which matches if the two input queries match at successive lexemes.
|
Does first
|
Is first
|
In addition to these specialized operators, the usual comparison operators shown in Table 9.1 are available for types tsvector and tsquery. These are not very useful for text searching but allow, for example, unique indexes to be built on columns of these types.
Table 9.43. Text Search Functions
Function Description Example(s) |
|---|
Converts an array of text strings to a
|
Returns the OID of the current default text search configuration (as set by default_text_search_config).
|
Returns the number of lexemes in the
|
Returns the number of lexemes plus operators in the
|
Converts text to a
|
Converts text to a
|
Converts text to a
|
Produces a representation of the indexable portion of a
|
Assigns the specified
|
Assigns the specified
|
Removes positions and weights from the
|
Converts text to a
|
Converts text to a
|
Converts each string value in the JSON document to a
|
Selects each item in the JSON document that is requested by the
|
Removes any occurrence of the given
|
Removes any occurrences of the lexemes in
|
Selects only elements with the given
|
Displays, in an abbreviated form, the match(es) for the |