从零搭建可自动提取元数据的轻量化档案管理系统实操指南
一、前置环境准备
所需硬件最低配置:1核2G服务器/本地主机,剩余硬盘空间≥20G。需提前安装Docker和Docker Compose,对应操作系统安装命令如下:
1. Ubuntu/Debian 系安装命令
直接执行以下命令完成安装:
```bash sudo apt update && sudo apt install -y docker.io docker-compose-plugin sudo systemctl enable --now docker ```2. CentOS/RockyLinux 系安装命令
```bash sudo dnf install -y docker docker-compose sudo systemctl enable --now docker ```3. 安装验证
执行以下命令,返回版本号即表示安装成功:
```bash docker -v && docker compose version ```二、部署档案系统核心服务
本次采用开源的Paperless-ngx作为核心服务,原生支持文档元数据自动提取、OCR识别、标签自动分类功能,无需二次开发即可落地。
1. 初始化项目目录
执行以下命令创建工作目录并进入:
```bash mkdir -p /opt/paperless && cd /opt/paperless ```2. 编写配置文件
在当前目录新建docker-compose.yml文件,粘贴以下完整配置(可直接复制使用,无需修改):
```yaml version: "3.8" services: broker: image: redis:7.0-alpine restart: always volumes: - ./redisdata:/data webserver: image: paperlessngx/paperless-ngx:latest restart: always depends_on: - broker ports: - "8000:8000" volumes: - ./data:/usr/src/paperless/data - ./media:/usr/src/paperless/media - ./export:/usr/src/paperless/export - ./consume:/usr/src/paperless/consume environment: - PAPERLESS_REDIS=redis://broker:6379 - PAPERLESS_ADMIN_USER=admin - PAPERLESS_ADMIN_PASSWORD=Admin@123 - PAPERLESS_OCR_LANGUAGE=chi_sim+eng - PAPERLESS_TIME_ZONE=Asia/Shanghai - PAPERLESS_MAX_UPLOAD_SIZE=100M ```3. 启动服务
执行以下命令启动服务,首次启动会自动拉取镜像,等待1-2分钟即可完成:
```bash docker compose up -d ```
启动完成后,在浏览器访问http://你的服务器IP:8000 即可进入系统,默认账号为admin,密码为Admin@123,登录后可自行修改密码。
三、配置元数据自动提取规则
本步骤为核心配置,完成后上传档案即可自动提取所需元数据,无需手动录入。
1. 开启基础元数据提取开关
登录系统后,点击右上角【管理】-【设置】-【元数据】,依次勾选“自动提取文档内置元数据”“从文件名提取元数据”“从内容匹配自动生成标签”三个选项,点击底部保存按钮。
2. 配置自定义元数据字段
先点击【管理】-【自定义字段】,依次添加3个自定义字段:档案编号(文本类型)、所属部门(文本类型)、归档日期(日期类型),保存后返回元数据设置页。
3. 配置文件名元数据提取规则
在元数据设置页的「文件名提取模板」框中,粘贴以下正则规则(适配【档案编号-所属部门-归档日期-档案名称】的文件名规范,比如202401-行政部-20240520-采购合同.pdf):
``` ^(?P然后在下方的「字段映射」配置中,依次将archive_no绑定到「档案编号」字段,department绑定到「所属部门」字段,archive_date绑定到「归档日期」字段,保存即可。
4. 配置内容自动标签规则
点击【管理】-【标签】,先创建所需的档案分类标签(比如合同类、人事类、行政类),然后进入对应标签的编辑页,在「自动匹配规则」中添加匹配关键词,匹配范围选择“文件名+文档内容”,比如给“合同类”标签添加关键词“合同、协议、约定”,后续所有内容或文件名包含对应关键词的档案都会自动打上该标签。
四、功能验证
完成配置后,按以下步骤验证功能是否正常:
- 第一步:将命名为「202401-行政部-20240520-办公设备采购合同.pdf」的文件拖入系统上传区,等待30秒后台自动处理。
- 第二步:打开该档案的详情页,查看元数据区域是否自动生成档案编号202401、所属部门行政部、归档日期2024-05-20,且自动打上「合同类」标签,同时显示文件大小、页数、创建时间等内置元数据。
- 第三步:上传一张包含文字的扫描件JPG,等待1分钟后查看详情页,确认OCR已提取出扫描件中的文本内容,且根据内容匹配了对应标签。
五、常见问题排查
- 上传档案后无元数据:执行
docker logs paperless-webserver查看后台报错,首先确认文件名符合预设的命名规范,其次检查元数据提取开关是否开启,正则规则是否配置正确。 - OCR提取中文乱码:确认docker-compose.yml中PAPERLESS_OCR_LANGUAGE参数值为chi_sim+eng,修改后执行
docker compose restart重启服务即可。 - 大文件上传报错:修改docker-compose.yml中PAPERLESS_MAX_UPLOAD_SIZE参数值,比如改为200M即可支持最大200M的文件上传,修改后重启服务生效。
- 外网无法访问系统:检查服务器防火墙是否开放8000端口,云服务器需同时在安全组规则中放行8000端口的入站请求。