版本升级指南
本文档介绍如何将小遥搜索从旧版本升级到新版本。
📋 升级概述
小遥搜索采用数据与程序分离的设计理念,升级时只需将旧版本的 data 目录覆盖到新版本中,即可保留以下数据:
✅ 已构建的搜索索引(Faiss 向量索引 + Whoosh 全文索引)
✅ 数据库中的配置和索引记录
✅ 已下载的 AI 模型
✅ 用户设置和日志
🚀 升级步骤
方式一:整合包用户(推荐普通用户)
适用人群:使用整合包部署的用户
支持平台:Windows
升级流程
步骤 1:下载新版本整合包
从百度网盘下载最新的 Windows 整合包:
请选择最新版本下载(如 XiaoyaoSearch-Windows-v1.x.x.zip)
步骤 2:解压新版本
将下载的新版本压缩包解压到任意目录(建议不要包含中文路径)
步骤 3:备份并迁移 data 目录
将旧版本(如 1.3.0)的整个 data 目录复制到新版本目录中,覆盖新版本的 data 目录:
旧版本目录/
├── data/ # 旧版本的 data 目录
│ ├── database/ # SQLite 数据库
│ ├── indexes/ # 搜索索引
│ │ ├── faiss/ # Faiss 向量索引
│ │ └── whoosh/ # Whoosh 全文索引
│ ├── models/ # AI 模型文件
│ └── logs/ # 日志文件
└── ...
⬇️ 复制整个 data 目录 ⬇️
新版本目录/
├── data/ # 用旧版本 data 覆盖
│ ├── database/
│ ├── indexes/
│ ├── models/
│ └── logs/
├── scripts/
└── ...步骤 4:重新安装环境
双击运行 scripts/setup.bat,脚本会自动完成以下操作:
解压 Python 嵌入式运行时
安装后端 Python 依赖
安装前端 Node 依赖
生成配置文件
创建数据目录
RTX 50 系显卡用户:如果您使用 RTX 50 系显卡,请运行 scripts/setup_rtx50显卡.bat
步骤 5:启动新版本
双击运行 scripts/startup.bat,启动新版本应用
方式二:开发者用户
适用人群:使用开发者部署方式的用户
支持平台:Windows / macOS / Linux
升级流程
步骤 1:备份数据(可选但建议)
在升级前,建议备份您的 data 目录:
# 备份 data 目录
cp -r data data_backup_$(date +%Y%m%d)步骤 2:更新代码
# 进入项目目录
cd xiaoyaosearch
# 拉取最新代码
git pull origin main步骤 3:迁移 data 目录
将旧版本的 data 目录内容保留,只更新程序代码:
xiaoyaosearch/
├── backend/ # 更新为新版本代码
├── frontend/ # 更新为新版本代码
├── docs/ # 更新为新版本文档
├── data/ # 保留旧版本的 data 目录
│ ├── database/ # SQLite 数据库(保留)
│ ├── indexes/ # 搜索索引(保留)
│ │ ├── faiss/ # Faiss 向量索引(保留)
│ │ └── whoosh/ # Whoosh 全文索引(保留)
│ ├── models/ # AI 模型文件(保留)
│ └── logs/ # 日志文件(保留)
└── ...步骤 4:更新依赖
# 进入后端目录
cd backend
# 安装新的 Python 依赖(如果 requirements.txt 有更新)
pip install -r requirements.txt步骤 5:启动服务
# 启动后端服务
python main.py
# 新终端启动前端
cd frontend
npm run dev📊 data 目录结构说明
升级时会保留以下目录和数据:
⚠️ 注意事项
备份重要数据:升级前建议备份
data目录,以防升级失败导致数据丢失版本兼容性:
跨大版本升级(如 1.x 到 2.x)可能存在不兼容情况,请仔细阅读版本更新说明
如果遇到索引不兼容问题,可能需要重新构建索引
模型更新:如果新版本需要不同的模型版本,请重新下载对应的模型
配置文件:
整合包用户:首次运行会自动生成新的配置文件
开发者用户:
.env文件通常不需要更改,如有更新会在 Release 说明中注明
索引重建:如果搜索结果异常或索引损坏,可尝试在应用设置中删除索引后重新构建
🔧 常见问题
Q1: 升级后搜索不到之前索引的文件?
可能原因:
索引未正确迁移
新版本索引格式不兼容
解决方案:
确认
data/indexes/目录已完整迁移如问题持续,在设置中删除索引后重新构建
Q2: 启动失败提示缺少依赖?
解决方案:
重新运行
scripts/setup.bat(整合包用户)或执行
pip install -r requirements.txt(开发者用户)
Q3: 如何查看当前版本?
整合包:在应用界面的"关于"页面查看
开发者:在
backend/main.py或frontend/package.json中查看版本号