Поиск по содержимому

Поиск по содержимому

POST /search/

Выполняет поиск по содержимому обработанных видео.

Тело запроса

Поиск по одной задаче:

{
    "query": "поисковая фраза",
    "job_id": "123e4567-e89b-12d3-a456-426614174000",
    "n_results": 5
}

Поиск по нескольким задачам:

{
    "query": "поисковая фраза",
    "job_ids": [
        "123e4567-e89b-12d3-a456-426614174000",
        "456e7890-e12b-34c5-d678-901234567890"
    ],
    "n_results": 10
}

Параметры

  • query - Поисковый запрос

  • job_id - UUID одной задачи (взаимоисключающе с job_ids)

  • job_ids - Массив UUID задач (взаимоисключающе с job_id)

  • n_results - Максимальное количество результатов (по умолчанию: 5)

Пример запроса

curl -X POST "https://your-domain.com/search/" \
  -H "x-api-key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "машинное обучение",
    "job_id": "123e4567-e89b-12d3-a456-426614174000",
    "n_results": 5
  }'

Ответ

{
    "result": "ok",
    "data": [
        {
            "video_public_id": "request-id-uuid",
            "start_from": 45.5,
            "end_to": 67.2,
            "text": "В этом разделе мы рассмотрим основы машинного обучения",
            "similarity": 0.87,
            "image": "https://your-domain.com/frames/vendor-key/job-id/45"
        }
    ],
    "query": "машинное обучение",
    "total_results": 3
}

Описание полей ответа

  • result - Статус выполнения поиска (ok или error)

  • data - Массив результатов поиска

    • video_public_id - UUID запроса во внешней системе

    • start_from - Время начала найденного фрагмента (в секундах)

    • end_to - Время окончания найденного фрагмента (в секундах)

    • text - Найденный текстовый фрагмент

    • similarity - Коэффициент релевантности (от 0 до 1)

    • image - URL изображения кадра для данной временной метки (если доступны frames)

  • query - Оригинальный поисковый запрос

  • total_results - Общее количество найденных результатов

Особенности поиска

  1. Обогащение результатов - Если для задачи доступны кадры (frames), результаты автоматически дополняются ссылками на изображения

  2. Ранжирование - Результаты сортируются по релевантности (similarity)

  3. Контекст - Каждый результат включает временные рамки для точного позиционирования в видео

Ошибки поиска

При ошибке поиска API возвращает:

{
    "detail": "Search request failed: описание ошибки"
}

Возможные причины ошибок:

  • Задачи еще не обработаны полностью

  • Отсутствуют права доступа к указанным задачам

  • Проблемы с подключением к поисковому сервису

  • Некорректные параметры запроса