为什么苹果聚光灯没有找到docx的内容?


2

目前,聚光灯只会搜索docx文件的标题,而不是内容。有没有什么办法解决这一问题?


这种情况发生在我身上,但仅适用于自4月中旬以来创建或修改的文件。
Gilby

重建索引 - 现在所有docx都没有索引内容。
Gilby

Answers:


3

是的,有办法。我的回答是基于这个讨论 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中消失。

解决问题的方法:

  1. 编写一个每小时运行一次的脚本来重新索引任何新的.docx
  2. 删除Microsoft提供导入程序/ Library / Spotlight / Microsoft Office.mdimporter

我删除了Microsoft导入程序。我必须记得在每次Office更新后删除它。

警告:如果确实删除了Microsoft导入程序,则Spotlight不再索引Excel文件的内容!

请注意我对这个答案不满意。我已将Microsoft Office导入程序从我的MacBook(索引已正常工作)复制到我的桌面(它已失败),现在所有新的或修改过的文档都已正确索引。两者都在运行10.12.5。当文档被终端中的mdimport索引时,两者都会给出架构不匹配错误。


我怀疑上述情况。不完整的故事。我的MacBook上的docx内容没问题。只在我的桌面上有问题。
Gilby

0

从我在这里读到的,以及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文件会立即自动编入索引。我不确定这个解决方案是否会持续,以及它是否能够在软件更新中存活下来。


这对我来说不再起作用,也不能删除Microsoft Office.mdimporter。重新索引仍然有效。我还尝试根据结果取消RichText.mdimporter与与docx关联的UTI的链接 由jafingerhut完成的综合测试 ,但它也没有帮助。
Alex Zelensky

每当使用Microsott Office导入程序时,无论是通过强制它在“mdimport -g”中还是通过修改RichText mdimporter的info.plist,都不会创建docx文件的全文索引。文件已编制索引(mdls输出),但未创建全文内容kMDItemTextContent mdimport -d2
Alex Zelensky
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.