web-dev-qa-db-ja.com

Appleスポットライトがdocxのコンテンツを見つけられないのはなぜですか?

現在、spotlightはdocxファイルのタイトルのみを検索し、コンテンツは検索しません。これを修正する方法はありますか?

2
Gus Beringer

はい、方法があります。私の答えは、 Apple Communitys でのこの議論に基づいています。私の要約:

Officeドキュメントには2つのスポットライトインポーターがあります。

  • / Library/Spotlight/Microsoft Office.mdimporter

  • /System/Library/Spotlight/RichText.mdimporter

どちらもMacOSに含まれており、Microsoft Officeインポーターは最近のMacOSアップデートで更新されています(10.12.4と10.12.5を確認しました)。

デフォルトでは、Wordがドキュメントを変更すると、MSインポーターが使用されます。そして、そこに問題があります! Appleインポーターは正しく機能します。

次の2つのコマンドを実行すると、Spotlight検索でドキュメントが表示されたり消えたりするのを確認できます。

$ mdimport -d1 [docxへのパス]

これは、システムのデフォルトインポーター/System/Library/Spotlight/RichText.mdimporterを使用し、ドキュメントがSpotlightに表示されます。

$ mdimport -d1 -g/Library/Spotlight/Microsoft\Office.mdimporter [docxへのパス]

そして、ドキュメントはSpotlightから消えます。

問題の解決策:

  1. 新しい.docxのインデックスを再作成するために、1時間ごとに実行するスクリプトを作成します
  2. Microsoft提供インポーター/Library/Spotlight/MicrosoftOffice.mdimporterを削除します

Microsoftインポーターを削除しました。また、Officeを更新するたびに削除することを忘れないでください。

警告:Microsoftインポーターを削除すると、SpotlightはExcelファイルのコンテンツにインデックスを付けなくなります。

私はこの答えに満足していないことに注意してください。 Microsoft OfficeインポーターをMacBook(インデックス作成が正しく機能している)からデスクトップ(失敗している)にコピーしました。これで、すべての新規または変更されたドキュメントが正しくインデックス付けされます。どちらも10.12.5を実行しています。また、ターミナルでmdimportによってドキュメントのインデックスが作成されると、どちらもアーキテクチャの不一致エラーが発生します。

3
Gilby

ここと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ファイルはすぐに自動的にインデックス付けされます。このソリューションが続くかどうか、そしてソフトウェアの更新後も存続するかどうかはわかりません。

0
Alex Zelensky