Расширенные настройки сервера¶
Настройка полнотекстового поиска¶
При установке системы на СУБД MS SQL Server возможна настройка полнотекстового поиска, встроенного в эту СУБД. Для корректной работы полнотекстового поиска необходимо выполнить следующие настройки:
-
На сервере СУБД установить MS Office 2010 Filter Pack SP2 (для поддержки офисных документов doc, docx, xls, xlsx и т.п.). Cсылки для скачивания:
-
Office 2010 Filter Pack: https://www.microsoft.com/en-us/download/details.aspx?id=17062
-
SP2: https://www.microsoft.com/en-us/download/details.aspx?id=39668
-
-
В настройках SQL Server должна быть включена служба полнотекстового поиска (указывается в компонентах SQL Server при установке).
-
Настроить файловые хранилища:
-
Рекомендуется создать отдельную базу данных под содержимое индексируемых правил (для упрощения резервного копирования и восстановления баз данных). Для этого создаём пустую базу данных и выполняем на ней скрипт
Fixes\CreateFileContent.ms.sql
. В конфигурационном файлеapp.json
веб-сервиса (c:\inetpub\wwwroot\tessa\app.json
) надо добавить строку подключения к этой базе (в примере ниже это вторая строкаtessa-files
):"ConnectionStrings": { "default": "Server=.; Database=tessa; Integrated Security=false; User ID=sa; Password=Master1234; Connect Timeout=200; pooling='true'; Max Pool Size=200; MultipleActiveResultSets=true;",
"tessa-files": "Server=.; Database=tessa-files; Integrated Security=false; User ID=sa; Password=Master1234; Connect Timeout=200; pooling='true'; Max Pool Size=200; MultipleActiveResultSets=true;" },
После первой строки подключения надо не забыть поставить запятую (как на примере выше).
-
В настройках сервера (Tessa Client → правая панель системы → Настройки → Настройки сервера) добавим хранилище файлов. Указываем Местоположение -
tessa-files
(это имя строки подключения в конфигурационном файле выше), База данных -да
, Расширения файлов -doc docx
:Таким образом, файлы с расширением
doc
илиdocx
, прикладываемые к карточкам документов, будут сохраняться в хранилищеtessa-files
, а все остальные - в основном файловом хранилищеFileSystem
.Note
После внесения изменения в карточку настроек сервера необходимо перезапустить пул приложений.
Более подробно все параметры карточки настроек сервера описаны в Руководстве Администратора.
-
-
Создать полнотекстовый индекс с помощью скрипта
Fixes\CreateFullTextCatalog.ms.sql
, выполнив его на созданной базе данныхtessa-files
(имя базы может отличаться).
Note
В случае, если был добавлен/удалён фильтр (например, если MS Office 2010 Filter Pack был установлен после того, как содержимое файлов было сохранено в базу данных), а база с полнотекстовым индексом уже была создана, необходимо выполнить скрипт Fixes\RebuildFullTextCatalog.ms.sql
на базе данных с индексируемой таблицей FileContent
. Этот скрипт перестраивает полнотекстовый индекс с учётом изменений в фильтрах.
Для удаления каталога используйте скрипт Fixes\DropFullTextCatalog.ms.sql
(это удалит полнотекстовые индексы в базе данных с индексируемой таблицей FileContent
).
Пример настройки представления с полнотекстовым поиском можно посмотреть в Руководстве разработчика.
Настройка Redis для сброса кэшей в кластере приложений¶
При развёртывании платформы TESSA в кластере из нескольких серверов приложений при любом изменении метаинформации (конфигурации в TessaAdmin) и ряда настроек (в карточках настроек, типов документов и др.) необходимо перезапускать процессы веб-сервисов (пулы приложений IIS или сервисы Linux) на всех нодах кластера.
Tip
Redis можно использовать не только в кластере серверов приложений, но и при наличии нескольких рабочих процессов пула приложений IIS в пределах одного сервера (или нескольких экземпляров сервиса Linux). Система корректно сбрасывает кэши в этом случае и при отсутствии Redis за счёт глобальных объектов синхронизации в ОС, но использование Redis даст небольшой прирост производительности и повышение надёжности. Если вы столкнулись с проблемами синхронизации кэшей без использования Redis, то рекомендуем настроить подключение к Redis.
Tip
Со сборки платформы 3.5.0 также доступна команда утилиты tadmin InvalidateCache
для сброса всех кэшей для ноды сервера приложений, к которой подключается утилита tadmin
, подробности в разделе Руководства администратора
Чтобы перезапуск не требовался, и различные кэши автоматически сбрасывались на всех нодах кластера, мы рекомендуем установить сервер Redis на отдельном сервере или на любой ноде сервера приложений - он не будет потреблять ресурсы. Такой сервер будет рассылать команды по сбросу кэшей всем нодам, при этом сами кэши наполняются сервисом на каждой из нод самостоятельно, поэтому к памяти и производительности сервиса Redis нет требований.
Tip
Redis поддерживается, начиная со сборки платформы 3.5.0.
Для установки на сервер Windows доступна только старая версия Redis 3.2. Для сброса кэшей в TESSA эта версия подходит и является необходимым минимумом, не устанавливайте более раннюю версию. Инструкция по установке имеется на сайте: https://redislabs.com/ebook/appendix-a/a-3-installing-on-windows/a-3-2-installing-redis-on-window/
Для установки на сервер Linux доступны более новые версии Redis, подойдут любые из них, которые присутствуют в вашем дистрибутиве Linux: https://redislabs.com/ebook/appendix-a/a-1-installation-on-debian-or-ubuntu-linux/
Также для компьютера Windows 10, Windows 11, Windows Server 2019 или Windows Server 2022 можно включить компонент WSL 1.0/2.0 (Windows Subsystem for Linux) для того, чтобы установить более новую версию Redis на ОС Windows. Например, установите приложение Ubuntu из магазина Microsoft Store, откройте командную строку Ubuntu (запустите приложение) и выполните:
sudo apt -y install redis-server
sudo service redis-server start
После установки Redis любыми из перечисленных выше способов, вы можете подключить веб-сервисы платформы TESSA к Redis, открыв файл app.json
и отредактировав параметр с именем "Redis"
, например:
"Redis": "localhost"
Note
Redis также есть в app.json сервиса Chronos, но в типовой поставке отсутствуют плагины, кэширующие метаинформацию на длительное время, поэтому подключение Chronos к серверу Redis не повлияет на работу системы. В вашем решении на платформе могут присутствовать плагины, которые используют глобальный кэш (регистрируют зависимости с указанием enableInterprocessCommunication), в этом случае использование Redis является оправданным.
Это строка соединения с сервером Redis, подключит ноду веб-сервиса TESSA к серверу Redis, установленному на этой же ноде. Вы можете использовать IP-адрес сервера, DNS-имя компьютера, или адрес с номером порта после двоеточия.
После изменения файла app.json
перезапустите веб-сервис TESSA.
Note
По умолчанию, Redis работает через TCP-порт 6379. Воспользуйтесь документацией Redis, чтобы настроить его на другой порт, если это требуется для вашей инфраструктуры. Номер порта укажите через двоеточия после имени компьютера или IP-адреса, например: "127.0.0.1:6379"
Другие настройки, возможные в строке подключения, приведены в документации Redis (различные настройки перечисляются через запятую): https://stackexchange.github.io/StackExchange.Redis/Configuration.html#configuration
-options
Warning
Мы рекомендуем указать логин/пароль и защищённое подключение по SSL/TLS, или отдельно ограничить доступ к серверу Redis по сети. Обратитесь к документации по ссылке выше.