Files
2026-06-01 13:03:20 +08:00

1.9 KiB
Raw Permalink Blame History

Rust 项目技术文档

项目概述

这是一个基于 Rust 的文档解析器项目,支持多种文档格式的解析和处理。

架构设计

核心组件

  1. 格式检测器 - 自动识别文档格式
  2. 解析引擎 - 支持多种格式的解析
  3. 存储服务 - 管理解析结果和元数据
  4. 任务队列 - 异步处理文档解析任务

技术栈

  • 语言: Rust 2021 Edition
  • 异步运行时: Tokio
  • 数据库: Sled (嵌入式)
  • Web 框架: Axum
  • 序列化: Serde

API 接口

文档上传

POST /api/v1/documents/upload
Content-Type: multipart/form-data

file: [binary data]
format: "auto"

解析状态查询

GET /api/v1/documents/{id}/status

解析结果获取

GET /api/v1/documents/{id}/content
Accept: application/json

配置说明

环境变量

# 服务器配置
SERVER_PORT=8087
SERVER_HOST=0.0.0.0

# 日志配置
LOG_LEVEL=info
LOG_PATH=./logs/app.log

# 存储配置
SLED_PATH=./data/sled
SLED_CACHE_CAPACITY=1048576

部署指南

开发环境

# 克隆项目
git clone <repository-url>
cd document-parser

# 安装依赖
cargo install

# 运行测试
cargo test

# 启动服务
cargo run

生产环境

# 构建发布版本
cargo build --release

# 运行服务
./target/release/document-parser

性能指标

解析速度

文档类型 平均解析时间 内存使用
Markdown 50ms 2MB
Word 200ms 10MB
PDF 500ms 25MB

并发能力

  • 最大并发解析任务10
  • 队列容量100
  • 超时设置30秒

总结

这个技术文档包含了:

  • 项目架构说明
  • API 接口定义
  • 配置和部署指南
  • 性能指标数据
  • 代码示例

用于测试复杂 Markdown 内容的解析能力。