1.2.2.3. Индексатор

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

В платформе реализованы 3 типа индексов:

  1. индекс форм
  2. индекс документов
  3. индекс файлов

В качестве движка для индексирования используется библиотека Apache Lucene и поисковая система Elasticsearch. Выбор движка осуществляется на момент установки платформы, по умолчанию ставится Apache Lucene. В случае необходимости можно переключить индексатор на Elasticsearch с последующей переиндексацией данных всех типов индексов.

Данные в индексе генерируются на основе данных из реляционной БД Mysql для форм и документов, из хранилища для файлов.

Индексы форм создаются для каждой формы отдельно. Это связано с тем, что структура данных для каждой формы индивидуальна, следовательно и структура индекса должна соответствовать описанию формы.

_images/form_index.png

Схема индекса форм

Индекс документов единый, пишутся туда структурированные данные документов канцелярии

_images/doc_index.png

Схема индекса документа

В индекс файлов записываются метаданные файла, а также контент для возможности поиска файлов хранилища по содержимому.

_images/file_index.png

Схема индекса файла