文档杂乱怎么查找:用 Papra 搭一个极简文档管理系统

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

在企业里经常会遇到沉积多年的文档,想要知道某个关键词来自哪个文档,毫无头绪,纵使有类似everything这样的外部工具,但却无法通过内容搜索。

随着AI的发展,很多公司通过建立知识库,达到了快速检索的目的。本节不聊知识库,分享一个极简的文档管理平台Papra ,同样能够达到搜索的目的。

02 简介

Papra 是一个极简的文档管理与归档平台。它的设计目标是简单易用,让人人都能轻松上手。定位类似于Paperless-ngx 的轻量替代品,专注于长期文档存储与管理------把那些"不知道什么时候会用上但丢了就麻烦"的文档(收据、保修卡、合同、发票等)统一存起来,随时全文搜索找回。

Github地址:github.com/papra-hq/pa...

体验地址:demo.papra.app/

03 部署

我们采用Docker部署的方式。

部署文档地址:docs.papra.app/self-hostin...

3.1 生成认证秘钥

Papra的启动需要一个秘钥,可以自己配置,也可以通过工具生成。

命令行:

bash 复制代码
openssl rand -hex 48

通过官网工具直接生成:

3.2 持久化准备

持久化是可选的,正常使用我们需要持久化我们文档,创建挂载的文档。

bash 复制代码
mkdir -p ./papra-data/{db,documents}

3.3 拉取镜像并启动

bash 复制代码
docker run -d \
>   --name papra \
>   --restart unless-stopped \
>   --env APP_BASE_URL=http://xxxxx.25:1221 \
>   --env AUTH_SECRET=c36851ffc3ecb9f245d7a82c130752c9a6f8a1c9c9b4b8e5e46dab7e8e2def687ebf24378761b8d7c4979e776dee4c3f \
>   -p 1221:1221 \
>   -v $(pwd)/papra-data:/app/app-data \
>   --user $(id -u):$(id -g) \
>   ghcr.io/papra-hq/papra:latest

启动完成之后,访问:http://ip:1221 即可

04 使用

4.1 注册账号

初次进入需要注册账号,我们正常注册即可。

注册完成之后就会进入主页:

4.2 导入文档

进入主页之后,我们就可导入管理的文档。导入的文档就可以展示文档列表。

我们还可以为自己的文档打上标签:

左侧还可以管理属性、标签规则、分享链接以及成员管理:

还可以通过右侧的管理直接查看仪表盘等:

4.3 搜索

搜索功能是该项目的主要功能。

例如我们直接搜索:Mysql

就会直接罗列出包含内容的文档,帮助我们快速找到文档的出处。

找到文档,我们就可以查看文档的详情:

4.4 搜索不到的原因

在测试过程中,并不是内容中所有的文字都可以搜索到。

Papra 用的是 SQLite FTS5(Full-Text Search 5)------SQLite 内置的全文搜索引擎,零外部依赖,数据存在同一个 .sqlite 文件里,默认分词器叫 unicode61,使用过ES或者Solr的朋友可能都知道倒排索引的原理。

05 小结

Papra 是一个定位精准、部署简单、功能够用的文档管理工具。它不追求大而全,而是把"上传 → 提取文字 → 打标签 → 搜索"这条核心链路做到极简。对于不需要 Paperless-ngx 那种重量级系统的个人或小团队来说,Papra 是一个非常合适的自托管选择。

相关推荐
captain3761 小时前
网络原理(7)-NAT(Network Address Translation)
java·网络·网络协议·java-ee
掘金者阿豪1 小时前
金仓、MySQL、PostgreSQL 用什么管理工具?DBeaver、Navicat、KStudio 我都试了一遍
后端
jaysee-sjc1 小时前
【苍穹外卖】Day01:从零认识企业级项目开发
java·开发语言·数据库·mysql·spring·intellij-idea·mybatis
雨辰AI1 小时前
多租户数据库资源配额管控|避免租户资源抢占雪崩(金仓 / 达梦 / 高斯 /openGauss 全库原生适配)
java·大数据·数据库·后端
AI深栈1 小时前
第 12 章 · AI智能体的结构化输出与流式响应
java·人工智能
zdr1 小时前
极空间 NAS 没有命令行,我逆向了它的桌面客户端
后端
君顾11 小时前
本地AI错题纠正小程序:端侧推理与错题闭环实战
java·开发语言·错题
掘金挖土1 小时前
前端手摸手跑路之 AI 应用开发(七)
前端·后端
我也要在julius_bar里藏钱1 小时前
【山竹记账后端】1.搭建后端项目
后端·ruby·rails