×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

2.9.5. Парсеры

Парсеры текстового поиска отвечают за разбиение исходного текста документа на токены и определение типа каждого токена, при этом набор возможных типов определяется самим парсером. Обратите внимание, что парсер никак не изменяет исходный текст — он лишь определяет вероятные границы слов. В силу ограниченности данной задачи потребность в специализированных парсерах для конкретных приложений возникает значительно реже, чем в пользовательских словарях. В настоящее время Digital Q.DataBase предоставляется лишь один встроенный парсер, который зарекомендовал себя как эффективное решение для широкого спектра приложений.

Встроенный парсер имеет имя pg_catalog.default. Он распознает 23 типа токенов, перечисленных в Таблица 2.9.1.

Таблица 2.9.1. Типы токенов встроенного парсера

ПсевдонимОписаниеПример
asciiwordСлово, все символы ASCIIelephant
wordСлово, все буквыmañana
numwordСлово, буквы и цифрыbeta1
asciihwordСлово, написанное через дефис, все символы ASCIIup-to-date
hwordСлово, написанное через дефис, все буквыlógico-matemática
numhwordСлово, написанное через дефис, буквы и цифрыpostgresql-beta1
hword_asciipartСоставная часть слова через дефис, все символы ASCIIpostgresql в контексте postgresql-beta1
hword_partСоставная часть слова через дефис, все буквыlógico или matemática в контексте lógico-matemática
hword_numpartСоставная часть слова через дефис, буквы и цифрыbeta1 в контексте postgresql-beta1
emailАдрес электронной почтыfoo@example.com
protocolЗаголовок протоколаhttp://
URL-адресURLexample.com/stuff/index.html
hostХостexample.com
url_pathПуть URL-адреса/stuff/index.html, в контексте URL-адреса
fileИмя файла или путь/usr/local/foo.txt, если не входит в состав URL-адреса
sfloatЭкспоненциальная форма записи-1.234e56
floatДесятичная форма записи-1.234
intЦелое число со знаком-1234
uintБезнаковое целое число1234
versionНомер версии8.3.0
tagXML-тег
entityXML-сущность&
blankПробельные символы(любые пробельные символы или знаки препинания, не распознанные иным образом)

Примечание

Используемое парсером определение термина «буква» определяется настройками локали базы данных, а именно параметром lc_ctype. Слова, содержащие только базовые символы ASCII, классифицируются как отдельный тип токена, поскольку в некоторых случаях их целесообразно обрабатывать обособленно. В большинстве европейских языков данные типы токенов word и asciiword следует интерпретировать идентично.

email не поддерживает все допустимые символы адресов электронной почты, определенные в стандарте RFC 5322. В частности, единственными неалфавитно-цифровыми символами, поддерживаемыми в именах пользователей электронной почты, являются точка, дефис и символ подчеркивания.

Парсер может формировать перекрывающиеся токены на основе одного и того же фрагмента текста. Например, слово, написанное через дефис, будет возвращено как в виде единого слова, так и в виде каждого из его составляющих компонентов:

SELECT alias, description, token FROM ts_debug('foo-bar-beta1');
      alias      |               описание                |     токен
-----------------+------------------------------------------+---------------
 numhword        | Составное слово с дефисом, буквы и цифры | foo-bar-beta1
 hword_asciipart | Часть составного слова, все символы ASCII          | foo
 blank           | Пробельные символы                            | -
 hword_asciipart | Часть слова через дефис, все символы ASCII          | bar
 blank           | Пробельные символы                            | -
 hword_numpart   | Часть слова через дефис, буквы и цифры | beta1

Данное поведение является предпочтительным, поскольку оно позволяет выполнять поиск как по составному слову целиком, так и по его отдельным компонентам. Ниже приведен еще один наглядный пример:

SELECT alias, description, token FROM ts_debug('http://example.com/stuff/index.html');
  alias   |  description  |            токен
----------+---------------+------------------------------
 protocol | Протокол | http://
 url      | URL           | example.com/stuff/index.html
 host     | Хост          | example.com
 url_path | Путь URL      | /stuff/index.html

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению