Настройка полнотекстового поиска
Полнотекстовый поиск в системе Docsvision — это поиск карточек, содержащих заданную строку в данных и/или в связанных файлах.
-
Поиска точного совпадения слов.
-
Поиска слов, начинающихся с заданной последовательности букв, например, по ключевому слову "приказ" будут отобраны слова "приказываю", "приказать" и подобные.
-
Морфологического поиска — поиска с учётом словоформ.
Полнотекстовый поиск может искать данные, которые были проиндексированы сервисом полнотекстового индексирования Docsvision. Данный сервис передает данные во внешнюю систему поиска, которая непосредственно индексирует их и предоставляет ответы на поисковые запросы.
-
Встроенная в Microsoft SQL Server система поиска — только для БД Microsoft SQL Server.
-
Система полнотекстового поиска Elasticsearch — для БД Microsoft SQL Server и PostgreSQL.
Одна база данных может быть настроена на работу только с одной системой полнотекстового поиска. К одному сервису полнотекстового индексирования могут быть подключены несколько баз данных Docsvision, индексируемых с помощью разных систем полнотекстового поиска.
Особенности работы полнотекстового поиска
-
Полнотекстовый поиск от Microsoft SQL работает по префиксу. Соответственно, будут найдены только строки, где слово начинается с части введённой в поисковую строку.
-
Добавленные недавно данные (например, созданная карточка) станут доступны для нахождения поиском в клиентской программе не сразу, а через какое-то время. Этот временной промежуток между добавлением данных и формированием индексов определяется периодом формирования очереди обработки и периодом обработки этой очереди сервисом полнотекстового индексирования. Очередь обработки выполняется задачей в SQL Server с периодичностью 5 минут.
-
Качество поиска в Elasticsearch и SQL Server может различаться из-за особенностей формирования индексов, учитывающих морфологию языка:
-
Для поиска в SQL Server может передаваться более короткая часть искомого слова, чем необходима Elasticsearch.
-
Результаты поиска в Elasticsearch могут содержать записи, не полностью совпадающие со словами поисковой фразы (менее жесткий поиск, чем в SQL Server).
-
В некоторых вариантах поисковой фразы Elasticsearch может не возвращать результаты.
-
-
Полнотекстовый поиск по содержимому файлов карточек поддерживается не для всех файлов.
-
Если вы настраиваете систему полнотекстового поиска, чтобы искать документы по номеру, выбирайте для индексации секцию Номера, а не поля Регистрационный номер, Исходящий номер в секции Основная информация.
В прочих карточках необходимо следовать схожей логике: проверять наличие похожей секции и при необходимости выбирать её.
Установка сервиса полнотекстового индексирования на сервер под управлением Linux
-
Установите сервис полнотекстового индексирования командами:
-
Astra Linux / Альт Сервер
-
РЕД ОС / SberLinux
sudo apt-get update sudo apt-get install docsvision-fulltextservicesudo dnf makecache sudo dnf install docsvision-fulltextservice -
Установка сервиса полнотекстового индексирования на сервер под управлением Windows
-
Запустите инсталлятор модуля Платформа
Docsvision Platform server.msi, на шаге выбора компонентов выберите компонент "Cервис полнотекстового индексирования":
Рисунок 1. Выбор сервиса полнотекстового индексирования для установки
Настройка сервиса полнотекстового индексирования
-
Все настройки сервиса полнотекстового индексирования хранятся в конфигурационном файле
/usr/lib/docsvision/fulltextservice/appsettings.jsonдля Linux иC:\Program Files\Docsvision\FullTextService\appsettings.jsonдля Windows. Откройте конфигурационный файл в любом текстовом редакторе и выполните необходимые настройки сервиса:
{
"DocsVision": {
"Platform": {
"Server": {
"LogFile": "/var/log/docsvision/fulltextservice.log", (1)
"Databases": {
"alias": "CONNECTION-STRING" (2)
}
}
}
},
"DataProtectCertificateThumbprint": "thumbprint", (3)
"SystemUserAccount": "account@domain.com", (4)
"SystemUserPassword": "password" (5)
}
| 1 | Путь к файлу журнала полнотекстового поиска. | ||
| 2 | Строка подключения к индексируемой БД. | ||
| 3 | Отпечаток закрытого ключа шифрования SHA1. Указывается без двоеточия, например, D8602179888DC8402B393F11DCA16A3376DDF879, см. подробнее в документации по настройке системы, раздел "Защита системной учётной записи".Если шифровать пароль системной учётной записи не планируется, параметр можно удалить. |
||
| 4 | Имя системной учётной записи Docsvision.
|
||
| 5 | Пароль системной учётной записи рекомендуется хранить в зашифрованном виде. Подробнее про шифрование см. в документации по настройке системы, раздел "Защита системной учётной записи".
|