本地知识库换资料,我以前的习惯是:新文件拷进去,旧文件挪进「旧版归档」,就觉得完事了。直到有一次,同事问「报销最晚周几交」,它答了周五——那是上一版的规定。新版明明写的是周四。
翻了一下才发现,索引还留着旧版归档里的那一行。文件挪走了,索引没清。
这篇只记换版后我多做的两步:清旧索引,和短词补查。工具很土,命令都是现成的,重点是顺序别反。
换版目录长什么样
我现在固定两个目录:现行,和旧版归档。只有现行进检索。
报销从 v2 挪到归档,现行里是 v3。入职和设备报修还在现行。看起来干净,可要是索引脚本上次把归档也扫进去了,表面干净没用。
清旧前:坏索引里还能搜到周五
我留了一份「坏索引」做对照,里面故意有一行旧版归档:
搜「周五」,命中旧版归档里的报销流程_v2。这就是同事那天拿到旧答案的原因。知识库再聪明,也翻的是索引里的行;索引没清,等于旧规定还在岗。
清旧后:只扫现行,周五退出检索
重建脚本只扫现行,写出新的 index.tsv,再检查一遍有没有「旧版归档」字样:
周五搜不到了,周四还在。这一步我给自己定成换版必做,不做完不宣布「资料已更新」。
有人会问:为什么不直接删旧文件?我倾向挪进归档而不是删。哪天有人问「以前是怎么规定的」,还能翻得到。只是归档绝不能进检索。
短词补查:问法跟资料用词不一致
清旧之后还有一类挂题:资料写了,但同事不那么叫。
比如资料写「报销」,有人问「报账」;写「门禁卡」,有人问「门卡」;写「打印机卡纸」,有人问「复印机塞纸」。检索按字面走,这些会对不上。
我的土办法是:每页现行资料末尾加一行「短词对照」,重建索引时一起扫进去。然后再用同事的口头说法跑一轮补查:
停车仍然没有——资料和短词表都没写,就该继续说没有,而不是硬凑。
短词表不是一次写全的。同事每问出一种新叫法,我才往对应那页加一行。写多了反而乱。
换版检查单(我自己用的)
- 旧文件进归档,现行只留现行。
- 删掉旧索引,只扫现行重建。
- 用「旧规定里的词」搜一遍,必须搜不到。
- 用「新规定里的词」搜一遍,必须搜得到。
- 用最近一周同事的口头说法做短词补查。
- 再跑固定考卷(有答案的、该说没有的都要有)。
前四步是清旧,第五步是补问法,第六步才是整体验收。以前我常直接跳到第六步,结果第六步过了,旧词还能搜到——因为考卷里根本没写「周五」这种旧词。
几句实话
这套做法建立在几页演示资料上,索引是一张 tsv,检索也是最简单的字面匹配。资料上到几百份、上了向量检索以后,清旧的具体命令会不一样,但「旧版本必须退出检索」这条我觉得不会变。
短词对照也不是万能的。方言、缩写、错别字,靠几行对照覆盖不完。我只能说,在我们这个小办公室,它比不写强。
换版清旧和短词补查这几次记录,我放在 evafang.com 。
你们换版之后,是先清索引,还是直接重跑考卷?有没有被旧规定阴过?