В DIRECTUM 5.6 полностью переработан механизм полнотекстового поиска документов, папок, задач и заданий. В этой статье мы рассмотрим принцип работы нового поиска и его преимущества.
Крупные компании хранят десятки миллионов документов и задач. Это терабайты информации в базе данных и файловых хранилищах. При такой нагрузке стандартные механизмы поиска могут не справиться. Например, такая ситуация рассматривались тут.
Новая Служба поиска DIRECTUM обрабатывает полнотекстовые запросы с помощью одной из лучших и быстроразвивающихся поисковых систем – Elasticsearch. Ее используют компании по всему миру, есть примеры и среди наших партнеров.
Служба поиска и компоненты Elasticsearch устанавливаются с помощью программы установки системы DIRECTUM. Процесс установки аналогичен установке основных компонентов и веб-продуктов DIRECTUM.
Служба поиска входит в серверную лицензию и не требует дополнительного лицензирования.
Атрибутивный поиск, как и прежде, выполняется средствами SQL Server.
Архитектурно выделяются два процесса: индексирование и поиск.
Администратор запускает первоначальное индексирование с помощью панели управления индексированием:
Индексирование выполняется с помощью множества серверных событий. Серверные события также запускаются при изменении отдельных объектов системы DIRECTUM. Служба обработки событий взаимодействует с базой данных и файловым хранилищем, отправляет данные в Elasticsearch.
Скорость первоначального индексирования зависит от размера индексируемых объектов, типа жесткого диска для хранения индексов и количества процессов службы обработки событий.
Чтобы ускорить первоначальное индексирование, рекомендуется на период его проведения увеличить число процессов службы обработки событий и на компьютере с компонентами Elasticsearch выделить дополнительные ресурсы. Подробнее см. типовые требования к аппаратному и программному обеспечению.
Когда пользователь в клиентской части запускает полнотекстовый поиск, хранимая процедура SQL-сервера отправляет запрос службе поиска. Служба поиска переводит запрос в формат, понятный Elasticsearch, и перенаправляет его поисковой системе.
Полученные результаты служба поиска передает SQL-серверу. Он возвращает пользователю список найденных объектов.
Горизонтальная масштабируемость. Администратор может развернуть дополнительные службы обработки событий для масштабирования индексирования или установить дополнительные экземпляры поисковой системы (Elasticsearch) для масштабирования индексирования и поиска.
Скорость. Полнотекстовый поиск стал значительно быстрее и по скорости работы сопоставим с атрибутивным. Например, длительность общего поиска сократилась в 5 раз.
Словоформы теперь всегда используются в алгоритмах поиска. Например, поиск по слову «ответ» учитывает словоформы «ответа», «ответы» и т.д. При этом «ответственный» считается отдельным словом и не попадает в результат поиска. Кроме того, поиск по критерию «со всеми словами» учитывает написание слова через «е» или «ё». Например, поиск по слову «учет» найдет результаты и с «учёт».
Синонимы и сокращения. Администратор может настроить словарь синонимов и сокращений, используемых при поиске. При развертывании службы поиска устанавливается пример словаря.
Рейтинг результатов поиска рассчитывается по улучшенным алгоритмам. Например, в предыдущих версиях механизм сначала находил результаты, а потом фильтровал их с учетом прав пользователя. Теперь поиск сразу учитывает права пользователя, что повышает точность результатов поиска. Кроме того, рейтинг теперь наглядно отображается с раскраской. Результаты по умолчанию сортируются по убыванию рейтинга:
Перечисленные преимущества относятся как десктоп-, так и к веб-клиенту.
Механизмы полнотекстового поиска с помощью средств SQL-сервера, служб Windows Search и Indexing Service с версии 5.6 объявлены устаревшими и оставлены для совместимости, в будущих версиях могут быть удалены. В дальнейшем будет развиваться только новый поиск.
После обновления на DIRECTUM 5.6 рекомендуется подготовить ресурсы для службы поиска и компонентов Elasticsearch, после чего в удобное время перейти на новый полнотекстовый поиск.
После перехода устаревшие механизмы необходимо отключить. Подробнее см. документ «DIRECTUM 5.6. Устаревшие механизмы полнотекстового поиска», входит в комплект документации.
* * *
Чтобы узнать больше о новинках, обратитесь к закрепленному менеджеру или воспользуйтесь формой «Заказать демонстрацию» на нашем сайте.
Ждем ваши вопросы и комментарии! Следите за новыми материалами о DIRECTUM 5.6!
Реализован ли в механизме учёт опечаток? То есть, если пользователь ищет "ответ", найдёт ли система документы со словами, в которых:
1) встречаются буквы, похожие по начертанию, но на другом языке ("ответ" с латинской "о")?
2) просто ошибки в написании в исходных документах (явные опечатки, не словарные слова, например "отбет")?
1) Нет.
2) Нет.
Авторизуйтесь, чтобы написать комментарий