Подключение сервиса глобального поиска в bpm’online
Чтобы подключить глобальный поиск в bpm’online, необходимо:
1.Выполнить API-операцию AddSite, указав имя БД приложения в качестве SiteName. Подробнее об операции AddSite можно узнать в разделе “Описание API сервиса глобального поиска”.
2.Выполнить API-операцию AddSearch, указав имя сайта которому подключаем поиск. Подробнее об операции AddSite можно узнать в разделе “Описание API сервиса глобального поиска”.
3.Включить глобальный поиск в bpm’online. Настройка подробно описывается в разделе “Подключение сервиса глобального поиска в bpm’online”.
4.Перезапустить приложение bpm’online.
Содержание
•Подключение глобального поиска в bpm’online
•Отключение глобального поиска
•Управление процессом индексации (запуск/остановка)
Подключение глобального поиска в bpm’online
Для подключения глобального поиска в bpm’online выполните следующие действия:
1.Включите функциональность (Feature Toggle) глобального поиска (GlobalSearch_V2), выполнив sql-скрипт:
DECLARE @GlobalSearchFeature NVARCHAR(50) = 'GlobalSearch';
DECLARE @GlobalSearchFeatureId UNIQUEIDENTIFIER = (SELECT TOP 1 Id
FROM Feature WHERE Code = @GlobalSearchFeature);
DECLARE @GlobalSearchV2Feature NVARCHAR(50) = 'GlobalSearch_V2';
DECLARE @GlobalSearchV2FeatureId UNIQUEIDENTIFIER = (SELECT TOP 1 Id
FROM Feature WHERE Code = @GlobalSearchV2Feature);
DECLARE @allEmployeesId UNIQUEIDENTIFIER = 'A29A3BA5-4B0D-DE11-9A51-005056C00008';
IF (@GlobalSearchFeatureId IS NOT NULL)
BEGIN
IF EXISTS (SELECT * FROM AdminUnitFeatureState WHERE FeatureId =
@GlobalSearchFeatureId)
UPDATE AdminUnitFeatureState SET FeatureState = 1 WHERE FeatureId
= @GlobalSearchFeatureId
ELSE
INSERT INTO AdminUnitFeatureState (SysAdminUnitId, FeatureState,
FeatureId) VALUES (@allEmployeesId, '1',
@GlobalSearchFeatureId)
END
ELSE
BEGIN
SET @GlobalSearchFeatureId = NEWID()
INSERT INTO Feature (Id, Name, Code) VALUES
(@GlobalSearchFeatureId, @GlobalSearchFeature, @GlobalSearchFeature)
INSERT INTO AdminUnitFeatureState (SysAdminUnitId, FeatureState,
FeatureId) VALUES (@allEmployeesId, '1',
@GlobalSearchFeatureId)
END
IF (@GlobalSearchV2FeatureId IS NOT NULL)
BEGIN
IF EXISTS (SELECT * FROM AdminUnitFeatureState WHERE FeatureId =
@GlobalSearchV2FeatureId)
UPDATE AdminUnitFeatureState SET FeatureState = 1 WHERE FeatureId
= @GlobalSearchV2FeatureId
ELSE
INSERT INTO AdminUnitFeatureState (SysAdminUnitId, FeatureState,
FeatureId) VALUES (@allEmployeesId, '1',
@GlobalSearchV2FeatureId)
END
ELSE
BEGIN
SET @GlobalSearchV2FeatureId = NEWID()
INSERT INTO Feature (Id, Name, Code) VALUES
(@GlobalSearchV2FeatureId, @GlobalSearchV2Feature,
@GlobalSearchV2Feature)
INSERT INTO AdminUnitFeatureState (SysAdminUnitId, FeatureState,
FeatureId) VALUES (@allEmployeesId, '1',
@GlobalSearchV2FeatureId)
END
В системную настройку GlobalSearchUrl установите значение URL к индексу ElasticSearch, полученное при помощи API-операции AddSearch, выполнив следующий SQL-скрипт:
UPDATE SysSettingsValue
SET TextValue = '' --укажите URL к индексу ElasticSearch
WHERE SysSettingsId = (SELECT TOP 1 Id FROM SysSettings WHERE Code =
'GlobalSearchUrl')
2.Системной настройке GlobalSearchConfigServiceUrl присвойте значение URL-адреса Global Search Service, выполнив SQL-скрипт:
UPDATE SysSettingsValue
SET TextValue = '' -- укажите URL к Global Search Service
WHERE SysSettingsId = (SELECT TOP 1 Id FROM SysSettings WHERE Code =
'GlobalSearchConfigServiceUrl')
3.Очистите базу данных Redis, связанную с вашим приложением bpm’online.
Для отключения глобального поиска необходимо выключить функциональность (Feature Toggle) глобального поиска (GlobalSearch и GlobalSearch_V2), выполнив SQL-скрипт:
UPDATE AdminUnitFeatureState
SET FeatureState = 0
WHERE FeatureId IN (SELECT Id FROM Feature WHERE Code LIKE
'GlobalSearch%')
Управление процессом индексации (запуск/остановка)
При запущенном компоненте Scheduler приложение bpm’online регулярно попадает в очередь задач для компонента Worker, если состояние глобального поиска у него включено (Enabled). Если состояние глобального поиска отключено (Disabled), то Scheduler не указывает его в очереди на индексацию.
Изменение состояния поиска выполняется API-операцией SetSearchState или с помощью SQL-скрипта:
UPDATE Site SET GlobalSearchState = '{Enabled/Disabled}'
WHERE Name = 'Имя сайта'
Смотрите далее
•Описание API сервиса глобального поиска
Смотрите также