Перейти к содержанию

Расширенные настройки сервера

Настройка полнотекстового поиска

При установке системы на СУБД MS SQL Server возможна настройка полнотекстового поиска, встроенного в эту СУБД. Для корректной работы полнотекстового поиска необходимо выполнить следующие настройки:

  1. На сервере СУБД установить MS Office 2010 Filter Pack SP2 (для поддержки офисных документов doc, docx, xls, xlsx и т.п.). Cсылки для скачивания:

  2. В настройках SQL Server должна быть включена служба полнотекстового поиска (указывается в компонентах SQL Server при установке).

  3. Настроить файловые хранилища:

    • Рекомендуется создать отдельную базу данных под содержимое индексируемых правил (для упрощения резервного копирования и восстановления баз данных). Для этого создаём пустую базу данных и выполняем на ней скрипт Fixes\CreateFileContent.ms.sql. В конфигурационном файле app-db.json веб-сервиса (c:\inetpub\wwwroot\tessa\app-db.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

      После внесения изменения в карточку настроек сервера необходимо перезапустить пул приложений.

      Более подробно все параметры карточки настроек сервера описаны в Руководстве Администратора.

  4. Создать полнотекстовый индекс с помощью скрипта Fixes\CreateFullTextCatalog.ms.sql, выполнив его на созданной базе данных tessa-files (имя базы может отличаться).

Note

В случае, если был добавлен/удалён фильтр (например, если MS Office 2010 Filter Pack был установлен после того, как содержимое файлов было сохранено в базу данных), а база с полнотекстовым индексом уже была создана, необходимо выполнить скрипт Fixes\RebuildFullTextCatalog.ms.sql на базе данных с индексируемой таблицей FileContent. Этот скрипт перестраивает полнотекстовый индекс с учётом изменений в фильтрах.

Для удаления каталога используйте скрипт Fixes\DropFullTextCatalog.ms.sql (это удалит полнотекстовые индексы в базе данных с индексируемой таблицей FileContent).

Пример настройки представления с полнотекстовым поиском можно посмотреть в Руководстве разработчика.

Настройка Redis

Attention

Наличие сервера Redis версии не ниже 5.0 является обязательным, начиная с версии TESSA 4.0.

При развёртывании платформы 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.

Для установки на сервер 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 из командной строки Windows выполните следующую команду (ubuntu - имя приложения Ubuntu из Microsoft Store):

ubuntu run redis-cli ping

В случае успеха в ответ будет выведено сообщение PONG.

После установки 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 по сети. Обратитесь к документации по ссылке выше.

Back to top