article_image

原文作者在测试一个希腊术语时意外遇到麻烦。对于生活在中文世界中的我们而言,不遇到麻烦才是意外。

image

文章作者在 macOS 上试图通过 Spotlight 搜索文件名中包含“cleta”的文件,结果发现了一个很不直觉的现象:在 Finder 的搜索框中输入“cleta”,即便某些文件名中明确包含这一串字符,仍有文件被遗漏。

image

作者建立了一个简单测试环境,在 ~/Documents 下新建了6个文件,这些文件名都带有“cleta”,但 Spotlight 的默认搜索只找到了其中的4个。更有意思的是,当将搜索方式切换为“名称包含 cleta”这一明确条件时,6个文件全部被成功检索出来。

这个行为表明 Spotlight 对搜索字符串的处理存在一定的“智能”或“模糊匹配”,但这种“智能”有时反而影响了准确性。尤其是当文件名形如 1995z_spectacletable_01.txt1995z_star-post-office-cleta-hunt-portrait_01.txt 这种结构复杂的命名时,Spotlight 的识别表现就变得不稳定。具体来说,它可能对下划线、连字符、空格等字符做了词语分隔处理,但对驼峰命名(CamelCase)却无法正确拆分。而这类结构恰恰在实际工作场景中非常常见,尤其是处理批量生成、归档的文件时。

为了解决这个问题,作者建议直接使用 Finder 的“查找”功能栏中下方的搜索条件,而不是依赖顶部的搜索框。

同时,他推荐了两个第三方工具——Find Any File 和 HoudahSpot——这两个工具可以明确识别文件名中的词,甚至还能处理连字符、空格和下划线的组合逻辑,更加可靠。作者还顺便提到了 Alfred,也是一款值得配合使用的效率工具。

image

这一问题本身或许不会影响日常使用,但对于依赖 Spotlight 精确搜索的用户,尤其是需要处理结构化命名文件的用户而言,是一个值得注意的陷阱。特别是当文件名中包含类似 “1995z_star-post-office-cleta-hunt-portrait_01.txt” 这样看似普通、实则“结构复杂”的命名时,Spotlight 很可能就会“看漏”目标。作者也坦言,Apple 官方文档并未解释这些搜索规则,使得用户只能依靠试错和经验判断。


author_avatar

UNTAG 官方