Описание API сервиса глобального поиска
Сервис глобального поиска включает программный интерфейс (API), который используется для управления индексацией ElasticSearch и другими параметрами Global Search Service.
API сервиса включает в себя следующие действия:
Создает индекс с уникальным именем в ElasticSearch. Обновляет информацию о сайте в локальной базе данных (OnSite-db), сохраняет имя индекса, идентификатор (Id) сервиса поиска и состояние поиска (Enabled). Возвращает ссылку на индекс глобального поиска в ElasticSearch, которую нужно сохранить в системную настройку “Адрес сервиса поиска” приложения bpm’online.
•EndPoint/URL: ServiceUrl/addsearch.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config);
•SiteName — название сайта.
•Response:
•status: “ok” / ”error”;
•message: “http://{URL к индексу ElasticSearch}” / “{Сообщение с описанием ошибки}”;
•code: 200/400.
Пример вызова в PowerShell:
$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/addsearch -Method POST -Body
$params
Удаляет индекс глобального поиска из ElasticSearch, удаляет каталог с *.sql-файлами, обновляет информацию о сайте в локальной базе данных (OnSite-db), удаляет имя индекса, идентификатор (Id) сервиса поиска, изменяет состояние поиска на Disabled.
•EndPoint/URL: ServiceUrl/deletesearch.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config);
•SiteName — название сайта.
•Response:
•status: “ok” / ”error”;
•message: “Global search deleted from site {Название сайта}” / “{Сообщение с описанием ошибки}”;
•code: 200/400.
Пример вызова в PowerShell:
$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/deletesearch -Method POST
-Body $params
GetSearchStat
Возвращает следующие данные: название сайта и название индекса в ElasticSearch, размер индекса в байтах, дату последней индексации, состояние поиска (Enabled/Disabled), список индексируемых сущностей и их параметры. Информацию собирает из ElasticSearch и локальной базы данных (OnSite-db).
•EndPoint/URL: ServiceUrl/getsearchstat.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config).
•SiteName — название сайта.
•Response:
•globalSearchStats: объект, содержащий в себе параметры состояния. В случае ошибки объект будет отсутствовать. Имеет следующие свойства:
•siteName — “{название сайта}”;
•indexName — “{название индекса}”;
•indexSize — “100500” (размер индекса в байтах);
•lastIndexingDate — дата последней индексации в формате “UTC” или "0001-01-01T00:00:00.0000000", если индексация еще не производилась;
•globalSearchState — состояние глобального поиска;
•globalSearchIndexingEntities — список всех индексируемых сущностей сайта (записи из таблицы GlobalSearchIndexingEntity) в виде JSON.
•status: “ok” / ”error”.
•message: “Succeeded. Got global search stats for site {Название сайта}” / “{Сообщение с описанием ошибки}”.
•code: 200/400.
Пример вызова в PowerShell:
$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/getsearchstat -Method POST
-Body $params
Возвращает “ОК”, если сервис активен. Используется для системы мониторинга Zabbix.
•EndPoint/URL: ServiceUrl/getservicestatus.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config).
•Response: возвращает только текст “OK.”
Пример вызова в PowerShell:
$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/getservicestatus -Method POST
-Body $params
Принимает от bpm’online sql-файлы для выборки данных из БД приложения в индекс. Сохраняет их в каталог для конфигурационных файлов (RootConfigFolder\IndexName). Наполняет таблицу GlobalSearchIndexingEntity, с которой работает Scheduler.
•EndPoint/URL: ServiceUrl/saveconfigs.
•Request type: POST.
•Parameters Body:
•IndexationConfigs — JSON с SQL-файлами.
•IndexName — имя индекса глобального поиска в приложении.
Добавляет новый сайт в БД.
•EndPoint/URL: ServiceUrl/addsite.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config);
•SiteName — название сайта.
•Response:
•status: “ok” / ”error”;
•message: “Site {Название сайта} was added succesfully.” / “{Сообщение с описанием ошибки}”;
•code: 200/400.
Пример вызова в PowerShell:
$params = @{
"ApiKey"= "ApiKey";
"SiteName"="NameOfSite"
}
Invoke-WebRequest -Uri http://serviceUrl/addsite -Method POST -Body
$params
Устанавливает состояние глобального поиска (“Enabled” или “Disabled”). Сайт, отмеченный как “Disabled”, не участвует в индексации.
•EndPoint/URL: ServiceUrl/setsearchstate.
•Request type: POST.
•Parameters Body:
•ApiKey — ключ авторизации (указывается в Web.config);
•SiteName — название сайта;
•SearchState — состояние поиска (Enabled/Disabled).
•Response:
•status: “ok” / ”error”;
•message: ““Success. GlobalSearch for site {Название сайта} was {disabled/enabled}. / “{Сообщение с описанием ошибки}”;
•code: 200/400.
Пример вызова в PowerShell:
$params = @{
"ApiKey"="ApiKey";
"SiteName"="NameOfSite"
"SearchState"="Enabled"
}
Invoke-WebRequest -Uri http://serviceUrl/setsearchstate -Method POST
-Body $params
Смотрите также