Снимки индекса
Резервная копия одного индекса — документы и настройки ранжирования — в объектном хранилище, скачивание и восстановление через атомарное переключение алиаса.
Снимок — восстанавливаемая копия одного индекса, принадлежащая вашей
организации. Это не платформенный бэкап движка (/admin/snapshot, только для
оператора).
Содержимое
documents.ndjson.gz (все документы), schema.json, synonyms.json,
curations.json, stemming.json, stopwords.json, rules.json, profiles.json
и manifest.json (счётчики, размеры, sha256 файлов, версия движка, модель
эмбеддингов). Манифест пишется последним: снимок без манифеста не показывается.
Новые снимки содержат замаскированные ссылки на учётные данные эмбеддингов. При восстановлении используется действующий ключ того же провайдера и адреса; ключ из старого снимка не восстанавливается. Если подходящего подключения нет, задача завершается до переключения рабочего поиска.
Создание
curl -sS -X POST "$AAC_API/indexes/products/snapshots" \
-H "Authorization: Bearer $AAC_KEY"{
"job_id": "clx9a4...",
"snapshot_id": "snap_mh3k2a1b0f3c9e7d21a",
"status": "queued",
"pruned": [],
"request_id": "req_..."
}Ответ 202, создаётся задача snapshot — опрашивайте
GET /jobs/{jobId}. Нужны settings:write и
documents:write.
Лимиты тарифа
| Free | Pro | Enterprise | |
|---|---|---|---|
| Снимков на индекс | 2 | 10 | 50 |
| Хранение (дней) | 7 | 30 | 90 |
При достижении лимита — 409 SNAPSHOT_LIMIT_REACHED; с ?prune=true самые старые
снимки удаляются. Ежедневная задача удаляет снимки старше срока хранения, но
самый новый снимок каждого индекса сохраняется всегда.
Просмотр и скачивание
GET /indexes/{slug}/snapshots — список (новые первыми), GET /snapshots/{id} —
манифест и download: { url, expires_at, content_encoding: "gzip", format: "ndjson" }.
Ссылка действует 15 минут. Нужен documents:read.
Восстановление
POST /indexes/{slug}/snapshots/{id}/restore → 202 { job_id, status }. Задача
restore строит новую коллекцию из снимка, воспроизводит настройки ранжирования и
атомарно переключает алиас, как переиндексация. Заменённая коллекция остаётся
коллекцией отката. Пока идёт reindex или другой restore — 409 JOB_CONFLICT.
Изоляция и ограничения
- Ключи хранилища содержат id организации и индекса: чужой снимок —
404 SNAPSHOT_NOT_FOUND. - Документы экспортируются потоком и восстанавливаются ограниченными пакетами. При восстановлении метаданные записей сохраняются до сверки, поэтому расход памяти всё ещё растёт с числом документов.
Перед публикацией проверяются контрольные суммы и размеры всех файлов конфигурации, сжатых документов и количество записей. Изменение схемы, ключа провайдера или настроек во время загрузки останавливает устаревшее восстановление до переключения; его можно повторить с текущими настройками. Ограничения приватных полей сохраняются из обеих версий — текущей и снимка. Ослабить их можно отдельным изменением настроек после восстановления.