20 lines
1.0 KiB
SQL
20 lines
1.0 KiB
SQL
-- 迁移脚本:为 document_vector 表增加分块(chunk)支持
|
||
-- 背景:RAG 由「整篇文档单向量」升级为「按分块向量化」,
|
||
-- 一个文件可对应多条 chunk 记录。
|
||
--
|
||
-- 用法(已有数据库升级):
|
||
-- mysql -u <user> -p <db_name> < migrate_document_vector_add_chunks.sql
|
||
--
|
||
-- 注意:升级后建议对所有项目执行一次「全量重建」向量化,
|
||
-- 以将旧的整篇文档向量替换为分块向量(旧记录 chunk_index 默认为 0)。
|
||
|
||
ALTER TABLE `document_vector`
|
||
ADD COLUMN `chunk_index` INT NOT NULL DEFAULT 0
|
||
COMMENT '分块序号(0起),同一文件可有多个分块' AFTER `file_path`,
|
||
ADD COLUMN `chunk_text` TEXT DEFAULT NULL
|
||
COMMENT '分块首段文本,作为点击引用时的定位锚点' AFTER `chunk_index`;
|
||
|
||
-- 新增按 (project_id, file_path, chunk_index) 的复合索引,加速按分块查询/删除
|
||
ALTER TABLE `document_vector`
|
||
ADD INDEX `idx_project_file_chunk` (`project_id`, `file_path`, `chunk_index`);
|