目前,聚光灯只会搜索docx文件的标题,而不是内容。有没有什么办法解决这一问题?
目前,聚光灯只会搜索docx文件的标题,而不是内容。有没有什么办法解决这一问题?
Answers:
是的,有办法。我的回答是基于这个讨论 Apple社区 。我的总结:
Office文档有两个聚光灯导入程序。
/ Library / Spotlight / Microsoft Office.mdimporter
/System/Library/Spotlight/RichText.mdimporter
两者都包含在MacOS中,Microsoft Office导入程序已在最近的MacOS更新中更新(我已检查过10.12.4和10.12.5)。
默认情况下,Word更改文档时使用MS导入程序。这就是问题所在! Apple导入程序正常工作。
通过执行以下两个命令,您可以在Spotlight搜索中看到文档显示和消失:
$ mdimport -d1 [docx的路径]
它使用系统默认导入程序/System/Library/Spotlight/RichText.mdimporter,文档出现在Spotlight中。
$ mdimport -d1 -g / Library / Spotlight / Microsoft \ Office.mdimporter [docx的路径]
该文件从Spotlight中消失。
解决问题的方法:
我删除了Microsoft导入程序。我必须记得在每次Office更新后删除它。
警告:如果确实删除了Microsoft导入程序,则Spotlight不再索引Excel文件的内容!
请注意我对这个答案不满意。我已将Microsoft Office导入程序从我的MacBook(索引已正常工作)复制到我的桌面(它已失败),现在所有新的或修改过的文档都已正确索引。两者都在运行10.12.5。当文档被终端中的mdimport索引时,两者都会给出架构不匹配错误。
从我在这里读到的,以及Apple社区,我明白问题是/ Library / Spotlight / Microsoft Office.mdimporter用于索引docx文件,它没有正确处理。删除导入程序可以解决问题,但会破坏旧的Word(.doc)和Excel文件索引。明确调用mdimport也可以,但每次修改文件时都必须这样做。我不确定Spotlight如何决定,哪个导入器用于处理特定的文件类型,但是对于行为不端的Microsoft mdimporter的info.plist,我发现提到了docx。我制作了Info.plist的备份副本,删除了描述docx(...)的数组元素:
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Microsoft Word document</string>
<key>UTTypeIdentifier</key>
<string>com.microsoft.word.openxml.document</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>WXBN</string>
<key>public.filename-extension</key>
<array>
<string>docx</string>
</array>
<key>public.mime-type</key>
<string>application/vnd.openxmlformats-officedocument.wordprocessingml.document</string>
</dict>
</dict>
并保存。但是,新创建或编辑的docx文件仍然无法通过聚光灯进行搜索。我不确定我所做出的改变是否被聚光灯注意到了,所以我重启了我的Mac,仍然是一样的。最后我改变了mdimporter的修改日期( touch /Library/Spotlight/Microsoft\ Office.mdimporter
)。在此之后,我创建和修改的docx文件会立即自动编入索引。我不确定这个解决方案是否会持续,以及它是否能够在软件更新中存活下来。
mdimport -d2
。