Сервис глобального поиска

Статья применима для сервиса глобального поиска версии 4.0.0.

Сервис глобального поиска (Global Search Service) нужен для обеспечения функции поиска в BPMSoft. Для обеспечения быстрого поиска используется индексация с применением сторонней поисковой системы OpenSearch (далее – Search Engine), которая устанавливается отдельным компонентом.

Ключевые возможности сервиса:

  • Поиск по любому разделу приложения;
  • Поиск по пользовательским полям и разделам;
  • Результат поиска не зависит от раздела, в котором был запущен поиск.

Для стабильной и корректной работы сервиса в фоновом режиме (с запуском по событиям в системе) выполняются следующие задачи:

  • Подписка — передача в Search Engine информации о разделе для поиска с сохранением связи с приложением;
  • Отписка (отключение) — удаление из Search Engine информации по требованию приложения;
  • Индексация — индексирование разделов для поиска.

При использовании сервиса глобального поиска необходимо учитывать следующие особенности:

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

Параметры поиска

Параметры поиска можно настроить с помощью системных настроек приложения.

Таблица 1 — Системные настройки для конфигурации сервиса глобального поиска

Код системной настройки Описание
GlobalSearchDefaultEntityWeight Настраивают отображение результатов поиска
GlobalSearchDefaultPrimaryColumnWeight
UseInexactGlobalSearch Настраивает поиск с учетом опечаток и морфологии
GlobalSearchShouldMatchPercent Настраивает неточный поиск

Компоненты сервиса

Сервис глобального поиска состоит из следующих компонентов:

Таблица 2 — Инфраструктурные компоненты сервиса

Компонент Название в поставке Описание Версия компонента в последнем релизе микросервиса (Docker) Версия компонента в последнем релизе микросервиса (Helm)
Search Engine opensearch Поисковая система opensearch:latest Устанавливаются отдельно
RabbitMQ rabbitmq Брокер сообщений rabbitmq:4.0.7-management
GS Database Server postgres Системная база данных сервиса postgres:latest
GS Caching Server dragonfly Хранилище кэшированных данных для обеспечения быстродействия dragonfly:latest

Таблица 3 — Специфичные компоненты сервиса

Компонент Название в поставке Описание
Web.Api web-api Web API приложения. Отвечает за создание и обслуживание индекса в OpenSearch для BPMSoft
Search.Web.Api search-web-api Web API приложения. Отвечает за обработку поисковых запросов, получаемых BPMSoft, и преобразует их в запросы для OpenSearch
Indexing.Web.Api indexing-web-api Web API приложения. Отвечает за обработку запросы, получаемых от BPMSoft на добавление, изменение или удаление одиночных записей в процессе работы с ними в BPMSoft. Создает сообщения для SingleTask.Executer.Api и QueriedSingleTask.Executer.Api
Executer.Api executor-api Worker приложения. Отвечает за планирования полной индексации сайтов по внутренней базе данных глобального поиска. Запускается по расписанию с заданным периодом (обычно 30 секунд) и сканирует внутреннюю БД глобального поиска. Подготавливает данные для первичной индексации сущности и отправляет сообщения во входную очередь Executer.Api
QueriedSingleTask.Executer.Api queriedsingletask-executor-api Worker приложения. Отвечает за обработку сообщения от Index.Web.Api, выполняет поиск по шаблону в поисковом движке и отравляет найденные строки как отдельные запросы для SingleTask.Executer.Api
Reply.Executer.Api replay-executor-api Worker приложения. Отвечает за получение результата первичной индексации сущности и обновляет внутреннюю базу данных глобального поиска
Sheduler.Api scheduler-api Worker приложения. Отвечает за планирование полной индексации сайтов по внутренней базе данных глобального поиска. Запускается по расписанию с заданным периодом (обычно 30 секунд) и сканирует внутреннюю базу данных глобального поиска. Подготавливает данные для первичной индексации сущности и отправляет сообщения во входную очередь Executer.Api
Single.Executer.Api single-executor-api Worker приложения. Отвечает за индексацию одной строки при выполнении в BPMSoft операций добавления или изменения данных
Single.Reply.Execute.Api single-replay-executor-api Worker приложения. Отвечает за получаение результата первичной индексации строк, при ошибке возвращает дату индексации во внутренней базе данных глобального поиска с целью дальнейшей первичной индексации за последний период
SingleTask.Executer.Api singletask-executor-api Worker приложения. Отвечает за подготовку на основании внутренней базы данных глобального поиска данных, нужных для индексации одной строки, и передает его во входную очередь Single.Executer.Api

Рисунок 1 — Схема работы сервиса

Рисунок 1 — Схема работы сервиса

Способы развертывания

Сервис глобального поиска возможно развернуть как для on-site, так и для cloud решения.

В зависимости от целевого назначения системы допускаются следующие варианты развертывания:

  • Продуктивная (PROD) — допускается развертывание сервиса строго с использованием ПО Kubernetes. Для высоконагруженных сред рекомендуется использовать кластер;
  • ПредПродуктивная (STAGE) — рекомендуется развертывание сервиса с использованием ПО Kubernetes; допускается развертывание с использованием ПО Docker;
  • Тестовая (TEST) — допускается развертывание сервиса как с использованием ПО Kubernetes, так и с использованием ПО Docker;
  • Среда разработки (DEV) — допускается развертывание сервиса как с использованием ПО Kubernetes, так и с использованием ПО Docker.

Рекомендуем изучить

Развертывание сервиса глобального поиска через Kubernetes
Развертывание сервиса глобального поиска через Docker
Настройка дополнительных параметров сервиса глобального поиска
Системные требования BPMSoft
Калькулятор системных требований

Полезные ссылки

Документация OpenSearch
Документация Docker

Материал был полезен для вас?
Заявка на индивидуальный тренинг
Заявка на обучение в формате тренинга
Заявка на консультацию по обучению
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Вебинар: 25 июня в 11:00
Приглашаем вас на вебинар: BPMSoft CRM без отраслевых границ. От трейдинга до здравоохранения. Опыт и цифры
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Предпочитаемый способ связи
Регистрация на мероприятие
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Предпочитаемый способ связи
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Предпочитаемый способ связи
Рассчитать стоимость
Предпочитаемый способ связи
Лучшие CRM-системы в России: выводы Фонда «Сколково»
Какие CRM выбирают крупнейшие российские компании? Скачайте исследование рынка CRM-систем 2026 от Фонда «Сколково» и TAdviser
Задать вопрос
Предпочитаемый способ связи
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Заявка на онлайн-консультации по BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Стать образовательным партнёром
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Проверьте вашу почту
Проверьте вашу почту
Для завершения подписки перейдите по ссылке в письме, которое мы только что отправили. Если письма нет во «Входящих», проверьте папку «Спам».
MAX Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее