Подключить полнотекстовый поиск Elasticsearch

Лицензия Docsvision должна содержать опцию Docsvision Внешний полнотекстовый поиск Elasticsearch, иначе использование системы Elasticsearch приведет к ошибке сервера Docsvision.

  1. Установите систему полнотекстового поиска Elasticsearch.

  2. Откройте Консоль настройки Docsvision.

  3. Перейдите на страницу Модули расширения  Сервис полнотекстового поиска

  4. Нажмите кнопку Добавить базу данных, чтобы открыть окно добавления БД к сервису полнотекстового индексирования.

    Чтобы Elasticsearch корректно искал по базе данных Microsoft SQL, в настройках индексации добавьте локаль отличную от нейтральной. Например, русский язык.
    Окно добавления БД к сервису полнотекстового индексирования
    Рисунок 1. Окно добавления БД к сервису полнотекстового индексирования
  5. В списке Название базы выберите подключаемую БД Docsvision, установите флаг Использовать внешний полнотекстовый поиск (Elasticsearch). Нажмите Далее, чтобы продолжить настройку.

    В списке отображаются БД, подключенные к данному серверу Docsvision.

  6. Настройте параметры подключения БД к системе полнотекстового поиска.

    Окно параметров подключения БД к системе полнотекстового поиска
    Рисунок 2. Окно параметров подключения БД к системе полнотекстового поиска
    1. В поле Elasticsearch url укажите адрес системы Elasticsearch в следующем формате: http://elastic.company.com:9200.

    2. Поле Строка подключения к базе содержит неизменяемую строку подключения к БД, которая подключается к сервису полнотекстового индексирования.

    3. В поле Сервер DocsVision должна быть указана строка подключения к службе Docsvision 5.5 Storage Server следующего вида: ConnectAddress=http://company.com/DocsVision/StorageServer/StorageServerService.asmx.

      По умолчанию в поле отображается строка подключения к текущему серверу Docsvision.

    4. Нажмите кнопку Тест соединений. Строка подключения будет выделена красным, если подключение не удалось. Если тест завершился с ошибкой, проверьте корректность параметров.

    5. Нажмите кнопку Далее.

      Если введены неверные данные, кнопка Далее будет заблокирована. Исправьте настройки и повторите пункт d.
  7. В следующем окне настройте параметры индексирования карточек.

    Окно настройки параметров индексирования карточек
    Рисунок 3. Окно настройки параметров индексирования карточек
    1. Установите флаг индексирования у отдельных полей карточек. Типы карточек выбранных полей будут добавлены в список Индексируемые карточки.

      Поля, выделенные серым, не могут быть выбраны.

      Не выбирайте целиком типы карточек или секции карточек. Выбирайте только поля текстовых типов.
    2. Если требуется, измените количество шардов (shards) в индексе. Для этого выберите тип карточек в списке типов, и измените значение в поле Количество фрагментов индекса.

      Для каждого типа карточек создаётся отдельный индекс. Количество фрагментов в индексе регулируется указанной настройкой.

    3. Если требуется, включите анализатор текста для полей карточек. Для этого выберите поле карточки в списке карточек, и установите флаг Анализировать поле.

      Анализатор — дополнительный компонент Elasticsearch. Анализатор формирует полнотекстовые индексы с учетом морфологии языка.

      Также при выборе поля карточки, справа отобразится информация о поле:

      • Тип поля.

      • Доступно для индексирования — по полю может быть выполнен поиск.

    4. Установите флаг Удалять первичные данные файлов после обработки, чтобы индексируемые файлы автоматически удалялись из базы Elasticsearch.

      В Elasticsearch существует два набора данных:
      • RawContent — исходные данные файлов, переданные из Docsvision.

        Исходные данные не используются в поиске, по ним формируются обработанные данные (CleanContent).

      • CleanContent — обработанные данные, сформированные из RawContent.

        Обработанные данные используются в полнотекстовом поиске.

        Если флаг Удалять первичные данные файлов после обработки активен, данные RawContent будут автоматически удаляться после формирования данных CleanContent.

    5. Нажмите кнопку Далее.

  8. В следующем окне настройте параметры индексирования справочников.

    Окно настройки параметров индексирования справочников
    Рисунок 4. Окно настройки параметров индексирования справочников
    1. Установите флаг индексирования у отдельных полей справочников.

      Поля, выделенные серым, не могут быть выбраны.

      Не выбирайте целиком типы карточек или секции карточек. Выбирайте только поля текстовых типов.

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

      Особенности индексирования данных сложного вида
      Рисунок 5. Особенности индексирования данных сложного вида
    2. Нажмите кнопку Далее.

  9. Нажмите Завершить, чтобы подключить БД к сервису полнотекстового индексирования с текущими настройками.

    База данных будут добавлена в список баз данных, использующих сервис полнотекстового индексирования.

  10. Включите индексирование добавленной базы данных.

    1. Выберите добавленную базу данных в списке и нажмите кнопку Свойства индексирования, чтобы открыть настройки индексирования БД.

      Общие настройки индексирования баз данных
      Рисунок 6. Общие настройки индексирования баз данных
    2. Установите переключатель Статус индексирования в значение Включено.

    3. Нажмите кнопку Применить, чтобы сохранить изменения.

      В списке индексируемых БД, у настраиваемой БД значение в колонке Индексирование изменится на Да.

  11. Если в Elasticsearch специальным образом настроена безопасность, предоставьте учетной записи сервиса полнотекстового индексирования полный доступ к Elasticsearch.

  12. Перезапустите сервер Docsvision (пул приложений DocsvisionSitePool или IIS) и сервис полнотекстового индексирования (службу Docsvision 5.5 Full-Text indexing Service).

    Чтобы убедиться, что индексирование с Elasticsearch работает, перейдите (подождав 5 минут после выполнения последнего шага) по адресу http://elastic.company.com:9200/_search?filter_path=hits.total и убедитесь, что в поле total отображается число больше нуля.

  13. Настройте свойства индексирования Elasticsearch согласно инструкции в разделе Изменить настройки Elasticsearch.