Сервис полнотекстового поиска
Сервис поиска позволяет осуществлять поиск по содержимому (тексту) файлов документов и атрибутам объектов платформы Doscvision (атрибутам карточек документов, задач и др.) Сервис поддерживает использование различных поисковых систем в качестве поисковой машины.
В настоящий момент доступны 2 реализации: поисковый сервис Microsoft SQL Server и сервис на базе СПО Elasticsearch.
- Cтандартные инструменты полнотекстового поиска MicrosoftSQL Server не требуют отдельного физического сервера и работают в контексте MicrosoftSQL-сервиса. Обычно используются в относительно небольших внедрениях.
- Поиск на базе службы Elasticsearch позволяет полноценно масштабировать поисковый сервис и открывает большие возможности по настройке интеллектуального поиска.
Сервис обеспечивает быстрый и удобный поиск документов:
- Полнотекстовый поиск – по текстовому содержимому объектов системы и файлов.
- Атрибутивный поиск – по стандартизированным полям (например, реквизиты, вид документа, дата, штрихкод, регистрационный номер, включая вхождение части значения и т.д.)
- Классификационный поиск – поиск с использованием различных тематических классификаторов, рубрикаторов, каталогов и справочников.
- Фасетный поиск – по записям справочников иерархических классификаторов.
Сервис поддерживает возможность настроить фильтрацию при поиске (по типам документов, папкам, типам файлов, размеру и др.) и возможность постраничного вывода информации (с сохранением сортировки). Также, при вводе значений в поисковое поле, система может предлагать пользователю варианты для выбора, «подтягивая» значения из справочников Docsvision.
Elasticsearch
Поисковый сервис, реализованный на базе технологии Elasticsearch, позволяет выполнять сложный полнотекстовый и развивать интеллектуальный поиск, который обучается в процессе взаимодействия пользователей с системой, анализирует и обрабатывает статистику их действий.
Elasticsearch — это полнотекстовый поисковый движок с открытым исходным кодом, написан на Java и использует библиотеку Lucene. Прекрасно ориентирован на работу с документами, понимает разные запросы (простые, сложные, структурированные) и различные типы данных (числа, текст, геоданные и др). После индексации БД позволяет выполнять поиск, сортировать и фильтровать сами данные, а не строки данных в столбцах. Документы системы представлены в виде объектов JSON, технология поддерживается большинством языков программирования и стала уже стандартным форматом для NoSQL.
Служба предназначена для реализации сложных поисков. В базе данных Elasticsearch таблицы называются индексами, а процесс загрузки документов – индексированием. Сервис индексации поддерживает доступ к внешним хранилищам, при этом данные корректно индексируются и релевантно передаются в результаты поиска. Технология обеспечивает высокую скорость выдачи результатов: по индексам производится быстрая выборка контента из базы и выводится пользователю.
Elasticsearch реализует агрегацию информации, сбор сущностей, проведение анализа, выявление закономерностей – это база для развития интеллектуального поиска, который адаптируется под запросы пользователей и упрощает максимально быстрое получение искомого результата.
Скорость индексирования новых данных – большое преимущество Elasticsearch. Как только в системе появляется новый объект (карточка, документ, задача, комментарий и т.д.), он сразу попадает в очередь на индексирование, а сам сервис с небольшим тайм-аутом его обрабатывает в онлайн-режиме.
Реализация поиска на базе службы Elasticsearch также даёт возможность вынести на отдельный сервер обработку индексирования и поиска контента в базах и хранилищах. Это позволяет поддерживать функции поиска по большим массивам данных одновременно для запросов многих пользователей, сохраняя высокую производительность системы в целом.
Развивая платформу Docsvision и кастомизируя интерфейс под потребности отдельных сотрудников, можно настроить многофакторные фильтры для наиболее гибкого поиска и быстрого получения релевантного результата в выдаче. Это особенно востребовано в проектах с акцентом на построение удобной ECM-системы с большим количеством разнообразного корпоративного контента, сохраняемого в различных форматах.
Поисковый сервис системы электронного документооборота, реализованный на базе технологии Elasticsearch, позволяет непрерывно масштабировать функции поиска информации и агрегировать данные для развития самообучающегося интеллектуального поиска.
Elasticsearch обеспечивает возможность вынести процессы индексирования и поиска на отдельный сервер. А при росте объёма сохраняемого корпоративного контента можно провести масштабирование (кластеризацию). Такое решение демонстрирует высокую отказоустойчивость: механизм обнаружения проблем позволяет быстро выявить сбои в кластере, локализовать их и устранить.
Многие крупные компании используют технологию Elasticsearch для поиска по огромным массивам данных, поскольку она позволяет оперировать петабайтами информации, обрабатывая десятки миллиардов документов в индексах, и показывает высокую скорость ответа.