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

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

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

При установке системы на СУБД 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.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

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

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

  4. Создать полнотекстовый индекс с помощью скрипта 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 Server 2019 можно включить компонент WSL 1.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 по сети. Обратитесь к документации по ссылке выше.

Back to top