为什么你的文档一直找不到
PDF 的文本并不是以明文保存的,它位于压缩的内容流中,按字体分别编码。2007 年之后的 Office 文件是装着压缩 XML 的 ZIP 容器。读取这些文件原始字节的搜索,从原理上就什么也找不到——这正是许多人坚信某份文档「不在这台电脑上」的原因,而它一直都在。
- PDF — 文本位于 FlateDecode 压缩的内容流中
- DOCX、XLSX、PPTX — 装着压缩 XML 的 ZIP 容器
- ODT、ODS、ODP — 原理相同,XML 不同
- Windows 搜索 — 只索引选定文件夹,整块磁盘直接略过
支持搜索的格式
Deskora 提取文档中可读的文本并搜索它。以下是覆盖范围——以及有意不覆盖的部分。
| 格式 | 搜索内容 |
|---|---|
| PDF (.pdf) | 页面全文,包括压缩流和 CID 字体。会报告页码。 |
| Word (.docx, .docm) | 正文、表格、页眉、页脚、脚注。修订中已删除的文字不计入。 |
| Excel (.xlsx, .xlsm) | 所有工作表的所有单元格。会报告工作表名称。 |
| PowerPoint (.pptx, .ppsx) | 按顺序读取全部幻灯片文字。会报告幻灯片编号。 |
| OpenDocument (.odt) | 包含标题与表格的完整正文。 |
| OpenDocument (.ods) | 所有表格的所有单元格。会报告表格名称。 |
| OpenDocument (.odp) | 全部幻灯片文字。会报告幻灯片名称。 |
| RTF (.rtf) | 完整文本,控制字和字符编码均已解析。 |
| TXT, LOG, CSV, XML, JSON | 逐字节直接搜索——快速路径,保持不变。 |
| .doc, .xls, .msg | 不支持。旧的二进制格式与邮件容器是另一个课题,与其半途而废,不如明确排除。 |
工作方式
提取文本代价不小,因此只做一次。之后文本以压缩形式留在索引中,此后每次搜索都像在搜纯文本。
🔍 文本提取
PDF 内容流被解压并通过字体表解码;Office 文件被解包,其 XML 被正确解析——包括实体和段落分隔。
💾 持久索引
提取出的文本压缩后缓存。只有当文件大小或修改时间变化时才重新提取。
🌙 安静的后台构建
最低的线程与 I/O 优先级,随时可中止。你不应该察觉到它。
📄 真实的命中位置
命中会报告第 7 页、工作表「营收」或第 3 张幻灯片——而不是毫无意义的行号。
Deskora 对比
诚实的对比。Deskora 是免费的桌面软件,不是法务级 e-discovery 平台,也不假装是。
| Deskora | Windows 搜索 | Agent Ransack | dtSearch | |
|---|---|---|---|---|
| 搜索 PDF 内部 | 是 | 仅已索引文件夹 | 是 | 是 |
| 搜索 Office 文件内部 | 是 | 仅已索引文件夹 | 是 | 是 |
| 覆盖所有本地磁盘 | 是 | 否 | 是 | 是 |
| 正则表达式 | 是 | 否 | 是 | 是 |
| 报告页 / 表 / 幻灯片 | 是 | 否 | 否 | 是 |
| 价格 | 免费 | 系统自带 | 免费 / 付费 | 付费(商业授权) |
适合谁
⚖️ 律师事务所与税务师
一个案号出现在 PDF 的页眉、表格的第三个工作表和一份扫描合同里。按文件名一个也找不到;按内容三个都能找到,还会告诉你该打开第几页。
🔬 科研与学习
数百篇论文、几十个数据集、三种格式的笔记。「那个方法在哪篇论文里?」是内容问题,应该只花一秒,而不是一个下午。
🔧 技术文档
零件号和错误代码写在手册里,不在文件名里。能读进手册的搜索,把一堆 PDF 变成知识库。
文档始终留在你的电脑上
文本提取完全在本地进行。不上传、不发送到服务器、不需要账号。文档索引可以完全关闭、限定到指定文件夹,或设置排除项——一个了解全部本地磁盘的程序,必须让你来划这条线。
Windows 自带的全文搜索能做到哪一步
系统自带的索引其实支持检索文档内容,只是默认没有配置到位。想先用它, 按这个顺序设置一遍:
- 控制面板 → 索引选项 → 修改 — 勾选真正存放文档的位置。 默认只包含「文档」「图片」和开始菜单,其余分区一律不在范围内。
- 高级 → 文件类型 — 找到 pdf、docx、xlsx、pptx 等扩展名, 逐个改成「索引属性和文件内容」,而不是只索引属性。
- 确认系统里装了 PDF 的 IFilter — 没有它,Windows 只能读到 PDF 的属性,读不到正文。多数 PDF 阅读器会一并安装。
- 重建索引 — 改完设置需要重建一次,期间建议接着电源, 并预留几个小时。
这样配置之后,被索引的文件夹里确实能按内容搜到东西。剩下的限制也很清楚: 索引之外的位置完全搜不到,外接硬盘通常就在其外; 命中只定位到文件,不会告诉您在第几页、哪一张工作表; 索引一旦损坏,又得整个重建一次。一个覆盖全部本地磁盘、并且会报告页码的搜索, 要解决的正是这三点。
常见问题
能找到扫描版 PDF 里的文字吗?
不能。扫描版 PDF 是文字的图像,不是文字。那需要光学字符识别,属于另一类程序。Deskora 会如实报告未找到,而不是假装。
加密的文件怎么办?
会跳过。Deskora 不尝试破解加密,即使是常见的空用户口令也一样:那把锁是创建者有意加上的。
会拖慢电脑吗?
索引在后台以最低优先级构建,随时可中止。纯文本搜索不受影响:它依然直接在文件上运行,不做副本。
索引占多少空间?
提取的文本压缩存储,只是文档本身的一小部分。几千份文档通常只需几十兆字节。
支持非拉丁文字吗?
支持。中文、日文、西里尔文、阿拉伯文和天城文都能处理,忽略大小写的匹配在 ASCII 之外同样有效。
可以用正则表达式吗?
可以,采用 ECMAScript 语法。表达式有误时会在输入框旁给出提示,而不是悄无声息地失败。