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

Настройка и администрирование

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

Сервис глобального поиска включает программный интерфейс (API), который используется для управления индексацией ElasticSearch и другими параметрами Global Search Service.

API сервиса включает в себя следующие действия:

AddSearch

DeleteSearch

GetServiceStatus

SaveIndexationConfigs

AddSite

SetSearchState

AddSearch

Создает индекс с уникальным именем в 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

DeleteSearch

Удаляет индекс глобального поиска из 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

GetServiceStatus

Возвращает “ОК”, если сервис активен. Используется для системы мониторинга 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

SaveIndexationConfigs

Принимает от bpm’online sql-файлы для выборки данных из БД приложения в индекс. Сохраняет их в каталог для конфигурационных файлов (RootConfigFolder\IndexName). Наполняет таблицу GlobalSearchIndexingEntity, с которой работает Scheduler.

EndPoint/URL:  ServiceUrl/saveconfigs.

Request type: POST.

Parameters Body:

IndexationConfigs — JSON с SQL-файлами.

IndexName — имя индекса глобального поиска в приложении.

AddSite

Добавляет новый сайт в БД.

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

SetSearchState

Устанавливает состояние глобального поиска (“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

Смотрите также

Настройка глобального поиска

Глобальный поиск

 

Был ли данный материал полезен?

Как можно улучшить эту статью?