正文检索

文件名索引很快,翻正文要另开一道开关content: 语法和内容索引各管一段

很多人装完就发现:按名字搜几乎瞬间出结果,想找某句话写在哪个文档里却一无所获。原因是索引里根本没有正文。这一页把开启正文检索的两条路、各自的代价,以及中文内容搜不到时的处理顺序写清楚。

内容检索开关content: 语法中文正文搜索范围
默认只认名字正文不进索引,所以搜不到
content: 临时读盘当次搜索打开文件
内容索引长期生效按扩展名建库,查询省事
中文要单独设置没开索引时中文段落搜不到

索引里装的只是名字,这是它快的原因

先弄清默认行为,后面的判断才有依据

程序启动时读取每个本地卷的文件表,把文件名、所在路径、大小和修改时间这类元数据装进内存数据库。它读的是目录项,不打开文件本体,所以条目再多也能很快建好索引,之后输入关键词几乎即时出结果。

代价是正文不在里面。文档写了什么、表格填了什么,索引一概不知道。在搜索框里敲一句正文里的话,除非和某个文件名重合,否则不会有结果,看起来就像程序坏了。

要检索正文有两条路:一条是临时用 content: 前缀让这一次搜索去读文件,另一条是在选项里为指定扩展名建立内容索引。前者不改任何设置、随用随开;后者配置一次换长期便利,代价是索引体积和建立时间都会增加。

开一次正文检索的按键顺序

不动任何设置,先试这一条

  1. 在搜索框里用 content: 打头

    写成 content: 再加上要查的句子,它告诉程序这次不只比对名字,还要打开文件读正文,多个词之间继续用空格分隔就行。

  2. 用 ext: 把范围收到几种格式

    例如查报价单时限定 txt,docx,xlsx 三类。格式列得越窄,需要打开的文件越少,等待时间越短。

  3. 回车之后耐心等,别反复提交同一个词

    正文检索靠逐个读盘,第一次要等几秒到几十秒。中途重复敲只会让队列更长。

  4. 在结果列表里按路径列核对一遍

    命中的条目同样显示路径与修改时间,先扫路径列确认是哪一份。

几种限定写法各自管什么

对照之后再决定这次用哪种写法

写法限定的是什么要付的代价
content: 加关键词让本次搜索去读文件正文逐个打开文件,最慢的一档
path: 目录名把候选限制在某段路径下不减慢单次读取,只缩小范围
ext: docx只保留指定扩展名的文件配合 content: 能省下不少时间
星号通配符替代记不全的那几个字写在越靠前的位置,候选越多
正则表达式开关把输入当正则解析写错就没有结果

建内容索引之前要定的四件事

这几项定错了,后面要么慢要么空

索引哪些格式只勾常用的几种,全勾会让索引文件膨胀得很快
覆盖哪些目录先限一两个盘,验证有效再扩大范围
索引存放位置默认写在用户目录下,可以改到空间宽裕的分区
运行权限调整索引范围要以管理员身份操作,受限账户只能看

正文搜不到,按这个次序排查

从最可能的那条原因开始

关于正文检索的五个问题

集中在开关位置与等待时间

为什么按文件名秒出,按正文要等半天?

名字在索引里,比对的是内存中的字符串;正文不在,只能临时打开文件读一遍。等多久取决于盘速和候选数量。

开着内容检索会不会拖慢整个系统?

搜索期间磁盘占用会明显上升,搜完就回落。如果同时在跑别的重活,等人空下来再搜更稳。

content: 和设置里的内容索引冲突吗?

不冲突。建好内容索引之后普通关键词也有机会命中正文,content: 仍可用于临时强制读取未建索引的格式。

中文内容搜出来是空的怎么办?

先确认该扩展名已加进内容索引列表,再看文件编码是否可读。两条都排掉再考虑重建索引。

能不能只搜某一个盘的正文?

可以。在搜索框里叠加 path: 限定目录,或者把范围切到指定卷,候选文件少了,等待也短。

相邻主题的记录