版本升级指南

本文档介绍如何将小遥搜索从旧版本升级到新版本。

📋 升级概述

小遥搜索采用数据与程序分离的设计理念,升级时只需将旧版本的 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/database/

SQLite 数据库(包含配置、索引记录等)

✅ 保留

data/indexes/faiss/

Faiss 向量索引

✅ 保留

data/indexes/whoosh/

Whoosh 全文索引

✅ 保留

data/models/

AI 模型文件(嵌入模型、语音模型、视觉模型)

✅ 保留

data/logs/

日志文件

✅ 保留

data/test-data/

测试数据

✅ 保留

⚠️ 注意事项

  1. 备份重要数据:升级前建议备份 data 目录,以防升级失败导致数据丢失

  2. 版本兼容性

  • 跨大版本升级(如 1.x 到 2.x)可能存在不兼容情况,请仔细阅读版本更新说明

  • 如果遇到索引不兼容问题,可能需要重新构建索引

  1. 模型更新:如果新版本需要不同的模型版本,请重新下载对应的模型

  2. 配置文件

  • 整合包用户:首次运行会自动生成新的配置文件

  • 开发者用户:.env 文件通常不需要更改,如有更新会在 Release 说明中注明

  1. 索引重建:如果搜索结果异常或索引损坏,可尝试在应用设置中删除索引后重新构建

🔧 常见问题

Q1: 升级后搜索不到之前索引的文件?

可能原因

  • 索引未正确迁移

  • 新版本索引格式不兼容

解决方案

  1. 确认 data/indexes/ 目录已完整迁移

  2. 如问题持续,在设置中删除索引后重新构建

Q2: 启动失败提示缺少依赖?

解决方案

  1. 重新运行 scripts/setup.bat(整合包用户)

  2. 或执行 pip install -r requirements.txt(开发者用户)

Q3: 如何查看当前版本?

  • 整合包:在应用界面的"关于"页面查看

  • 开发者:在 backend/main.pyfrontend/package.json 中查看版本号


Work Less, Earn More, Enjoy Life.