벡터 인덱스
RAG·시맨틱 검색에 쓰이는 벡터 백엔드의 상태를 백엔드별로 확인하고 재색인하는 거버넌스 화면입니다 (Theme D-2, #2242).
진입점
- 사이드바 거버넌스 → 벡터 인덱스 (
/governance/vector-index)
기능
백엔드별 상태 카드
알려진 벡터 백엔드(Weaviate / Milvus / Oracle / Elasticsearch)마다 상태 카드가 표시됩니다.
| 상태 | 조건 | 표시 |
|---|---|---|
| 정상(Healthy) | available && healthy | 초록 배지 + 실제 벡터 수 |
| 비정상(down) | available && !healthy | muted 카드 + "대기 중" |
| 미구성(unconfigured) | !available | muted 카드 + "미구성/대기 중(Pending)" |
재색인 (Reindex)
- 카드별 재색인 버튼(워크스페이스 admin 전용)을 누르면
POST /ai/index/reindex가 호출되고 성공/실패 sonner 토스트가 뜹니다. - 미구성 백엔드에서는 버튼이 비활성(가짜 재색인 방지). best-effort 작업이라 목록 행을 남기지 않으며, 토스트가 유일한 즉시 피드백입니다.
정직한 스켈레톤 (핵심 불변식)
미구성·장애 백엔드는 절대 가짜 0 을 표시하지 않고 "대기 중(Pending)" 으로 렌더됩니다. 실제로 비어 있지만 도달 가능한 인덱스의 0 과 구분됩니다. (가짜 0 은 회귀입니다.)
권한
- 상태 조회(
GET /ai/index/stats): 뷰어. - 재색인(
POST /ai/index/reindex): 워크스페이스 admin(글로벌admin역할 또는 Keycloak/tenants/<slug>/admins멤버) — 서버에서 시행.
관련 문서
- Theme D — 벡터/스키마동기화 QA 가이드 (단계별 스크린샷)
- Oracle 벡터 백엔드