# java-07-瀚海知识图谱智能检索平台 **Repository Path**: sanxiadaer/java07hanhaizhishitupu ## Basic Information - **Project Name**: java-07-瀚海知识图谱智能检索平台 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-10 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 瀚海知识图谱智能检索平台 基于 **Spring Boot 3 + MyBatis + MySQL** 的学术文献智能检索与阅读辅助平台,前端为 **Vue 3 + Element Plus + ECharts** 单页应用(已本地化,无需联网)。 ## 功能 ### 普通用户 | 模块 | 功能 | 接口 | | --- | --- | --- | | 用户管理 | 注册、登录、JWT 身份认证、密码 BCrypt 加密 | `POST /api/register`、`POST /api/login`、`GET /api/user/info` | | 智能检索 | 关键词检索 + 语义检索(本地 768 维向量),RRF 双路融合排序 | `GET /api/search?keyword=&mode=all/keyword/semantic`、`POST /api/search/semantic` | | 文献详情 | 查看文献信息、浏览量累加、阅读记录 | `GET /api/resource/{id}`、`GET /api/history` | | AI 阅读辅助 | 按文献 / 自定义文本生成摘要与三点阅读笔记 | `POST /api/summary` | | 知识图谱 | 按实体查询关联网络、文献图谱、图谱总览 | `GET /api/graph`、`GET /api/graph/resource/{id}`、`GET /api/graph/overview` | | 推荐 | 热门推荐(按浏览热度)、个性化推荐(按阅读历史) | `GET /api/hot`、`GET /api/recommend` | ### 管理员后台(需 ADMIN 角色,非管理员访问返回 403) | 模块 | 功能 | 接口 | | --- | --- | --- | | 用户管理 | 分页列表(关键词搜索)、新增(唯一性校验)、编辑(角色/状态/密码)、逻辑删除 | `GET /admin/user/list`、`POST /admin/user/add`、`PUT /admin/user/update`、`DELETE /admin/user/{id}` | | 资源管理 | 分页列表(标题/作者搜索)、新增(自动向量化)、编辑(正文变更重建向量)、逻辑删除 | `GET /admin/resource/list`、`POST /admin/resource/add`、`PUT /admin/resource/update`、`DELETE /admin/resource/{id}` | ## 技术说明 - 数据库:MySQL(`user_account`、`resource`、`resource_vector`、`graph_entity`、`graph_relation`、`reading_history`) - 语义检索:启动时自动对文献正文分块(512 字 / 重叠 64 字)生成本地 768 维字符 n-gram 向量,存入 `resource_vector`,查询时计算余弦相似度(模拟 PgVector;如需 Milvus 可在此基础上替换) - 知识图谱:实体与关系存 MySQL 表,前端 ECharts 力导向图渲染(模拟 Neo4j) - AI 摘要:默认 `local` 本地抽取式摘要(离线可用);可切换 `deepseek` / `ollama`(配置见 `application.properties`) - 权限:JWT 拦截 `/api/**` 与 `/admin/**`,`/admin/**` 额外校验管理员角色 ## 数据库初始化 `src/main/resources/hanhai_project.sql` 已包含建库建表与种子数据(16 篇文献、52 个图谱实体、68 条关系)。 ```bash mysql -uroot -p123456 --default-character-set=utf8mb4 < src/main/resources/hanhai_project.sql ``` > 应用启动时会自动创建 `admin` / `user1` 测试账号并生成向量分块。 ## 在 IDEA 中运行 1. 用 IntelliJ IDEA 打开本项目(已有 `.idea` 配置) 2. 确保本地 MySQL 已启动(默认 `root / 123456`,库名 `hanhai`) 3. 运行 `com.example.hanhai.HanhaiApplication` 4. 浏览器访问 http://localhost:8080/ ## 测试账号 - 管理员:`admin / 123456`(登录后自动进入管理后台) - 普通用户:`user1 / 123456` ## 接口测试 `src/main/resources/api-test.http` 可直接在 IDEA 中测试各接口。