-- ============================================================
-- EKB Schema MVP 索引创建脚本
-- 执行时机：prisma db push 之后手动执行
-- 说明：MVP 阶段只创建 HNSW 向量索引，pg_bigm 索引在 Phase 2 创建
-- ============================================================

-- 1. 确保 pgvector 扩展已启用
CREATE EXTENSION IF NOT EXISTS vector;

-- 2. HNSW 向量索引（语义检索核心）
-- 参数说明：m=16 每层最大连接数，ef_construction=64 构建时搜索范围
CREATE INDEX IF NOT EXISTS idx_ekb_chunk_embedding 
ON "ekb_schema"."ekb_chunk" 
USING hnsw (embedding vector_cosine_ops)
WITH (m = 16, ef_construction = 64);

-- 3. JSONB GIN 索引（可选，提升查询性能）
CREATE INDEX IF NOT EXISTS idx_ekb_doc_metadata_gin 
ON "ekb_schema"."ekb_document" 
USING gin (metadata jsonb_path_ops);

CREATE INDEX IF NOT EXISTS idx_ekb_doc_structured_gin 
ON "ekb_schema"."ekb_document" 
USING gin (structured_data jsonb_path_ops);

-- 4. 标签数组索引
CREATE INDEX IF NOT EXISTS idx_ekb_doc_tags_gin 
ON "ekb_schema"."ekb_document" 
USING gin (tags);


