Тело POST запроса (см. Запрос на поиск), начинающего поиск, должно содержать JSON одного из двух видов:
Конструктор, описывающий параметры для построения запроса к базе метаданных.
Запрос на поиск состоит из трех логических частей:
- Тип запроса (
queryType, см. Типы запросов и их параметры
) - Параметры специфичные для заданного типа запроса (
figures
,queryProperties, см. Дополнительные условия
) - Универсальные дополнительные условия фильтрации (
objectProperties
,conditions, см. Дополнительные условия
)
- Тип запроса (
Непосредственный запрос на языке базы метаданных.
{ "query": "figure fZone=polygon(0.4647676,0.3973333,0.7946027,0.5493333,0.8650675,0.7946666,0.4647676,0.7946666); figure fDir=(ellipses(-10000, -10000, 10000, 10000) - ellipses(-0, -0, 0, 0));set r = group[obj=vmda_object] { res = or(fZone((obj.left + obj.right) / 2, obj.bottom)) }; result = r.res;" }
Внимание!
При наличии во входном JSON секций конструктора и непосредственного запроса одновременно, непосредственный запрос имеет больший приоритет.
Примечание
Для поиска по данным оффлайн-аналитики следует использовать запрос вида:
POST /search/vmda/SERVER-NAME/OfflineAnalytics.c95ad5a581094845995ee28a7f097797/SourceEndpoint.vmda:AVDetector:1/past/future
Этот запрос будет работать даже если удален архив C-Werk, но метаданные в VMDA сохранены.
Следует обратить внимание на то, что идентификатор объектов должен быть записан без префикса hosts/
Правильный запрос: /search/vmda/SERVER-NAME/OfflineAnalytics...
Ошибочный запрос: /search/vmda/hosts/SERVER-NAME/OfflineAnalytics...
Результатом поиска является JSON следующего вида:
{ "intervals" : [ { "endTime" : "20160919T064640.430000", "startTime" : "20160919T064636.390000" }, { "endTime" : "20160919T073204.113000", "startTime" : "20160919T073201.513000" } }
где Intervals – набор интервалов времени, в которые истинно условие поиска.