feat: implement Phase 2 core features
- Add document CRUD API (list/get/upload/update/delete with auth) - Upload saves to Inbox + auto-enqueues processing pipeline - Delete defaults to DB-only, explicit flag for file deletion - Add hybrid search API (FTS 0.4 + trigram 0.2 + vector 0.4 weighted) - Modes: fts, trgm, vector, hybrid (default) - Vector search gracefully degrades if GPU unavailable - Add Inbox file watcher (5min interval, new file + hash change detection) - Register documents/search routers and file_watcher scheduler in main.py - Add IVFFLAT vector index migration (lists=50, with tuning guide) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
11
migrations/002_vector_index.sql
Normal file
11
migrations/002_vector_index.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- 벡터 유사도 인덱스 (코사인 거리)
|
||||
-- 주의: lists 값은 문서 수에 따라 조정 필요
|
||||
-- 문서 수 < 1,000: 인덱스 불필요 (seq scan이 더 빠름)
|
||||
-- 문서 수 1,000~10,000: lists = 문서수 / 50
|
||||
-- 문서 수 10,000+: lists = 문서수 / 100
|
||||
-- 초기 마이그레이션 후 문서 수 확인하여 lists 값 조정할 것
|
||||
|
||||
-- 최초 실행 시 lists=50으로 시작 (500~2,500건 최적)
|
||||
CREATE INDEX IF NOT EXISTS idx_documents_embedding
|
||||
ON documents USING ivfflat (embedding vector_cosine_ops)
|
||||
WITH (lists = 50);
|
||||
Reference in New Issue
Block a user